Re: [EP-tech] ScreenProcessor.pm and Admin Screen Messages

James Kerwin via Eprints-tech <[email protected]>
Newsgroups gmane.comp.web.eprints.devel
Message-ID <EMEW3|15978d632afcd541e83a7c9105ab68c7v7C9X014eprints-tech-bounces|ecs.soton.ac.uk|CAKkNZ9BQB4zev=Dwa6N67pToqWi8M2p2jqTht8Q6o-Qvx3gPwg@mail.gmail.com>
Ahhh thanks John.

I'm such a fool! I already had the code I needed from something I did the
other month. I just thought I needed to do something different because I
was trying to add $frag to add_message rather than just returning it to be
added to $page.

There are probably a few unnecessary Perl variables here and I need to
replace certain things with their actual parts, but it works:

my $repo = $self->{session};

my $frag = $repo->xml->create_document_fragment;


my $chunk = $self->{session}->make_element( "div", id => "ep_messages" );

my $searchlink = $self->{session}->make_element( "a", class=>
"search_link", href=>$uri, target=>"_blank" );

$searchlink->appendChild($repo->make_text("bleep bloop blop"));


$chunk->appendChild( $searchlink );

$frag->appendChild( $chunk );


$self->{processor}->add_message(

"message", $frag);

[image: image.png]

What a relief that I don't need to go change scary things!

Thanks,
James

On Tue, Aug 13, 2019 at 8:16 AM John Salter <[email protected]> wrote:

> Hi James,
> I think you've got all the right parts - you just need to join them all
> together:
> - create the link
> - create the text
> - append the text to the link
> - append the link to the message
>
> Cheers,
> John
> ------------------------------
> *From:* [email protected] <
> [email protected]> on behalf of James Kerwin via
> Eprints-tech <[email protected]>
> *Sent:* 12 August 2019 14:57:39
> *To:* [email protected] <[email protected]>
> *Subject:* [EP-tech] ScreenProcessor.pm and Admin Screen Messages
>
> Hi All,
>
> I have a button on the admin screen that does something when clicked. Then
> at the top of the screen a message appears upon completion to provide a url
> for the user to follow (or that is the plan). It usually present a plain
> text message, but I want a clickable link. At the moment users would need
> to copy the message text and paste it into the address bar.
>
> At the moment I can have either text or a link that can't be seen or
> clicked, but shows up when you inspect the page.
>
> [image: image.png]
>
> Here is my code that I've adapted (only the bit in bold is really
> relevant):
>
> sub add_result_message
>
> {
>
>         my( $self, $ok ) = @_;
>
>
>         if( $ok )
>
>         {
>
>                 #$self->{processor}->add_message( "message",
>
>                         #$self->html_phrase( "aam_link" ) );
>
> #$self->{processor}->add_message(
>
> #"message",
>
> #$self->{repository}->make_text( "Please go to https://eur03.safelinks.protection.outlook.com/?url=www.google.co.uk&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C59e0cb9d040846c48c7108d71fc8c022%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=EYXC4Vaj9DKbkTi8Sv2EPNuoNhP3xitkD6gzQlfFsHE%3D&amp;reserved=0
> <https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.google.co.uk&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C59e0cb9d040846c48c7108d71fc8c022%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=Bjhifm%2BzAIcPCKh%2FHt3ykAV931w%2BWAURbVTxLUY8zw8%3D&amp;reserved=0>
> to access the AAM Updates.")
>
> #);
>
> #my $messagelink =
>
> *my $uri = "https://eur03.safelinks.protection.outlook.com/?url=www.google.co.uk&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C59e0cb9d040846c48c7108d71fc8c022%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=EYXC4Vaj9DKbkTi8Sv2EPNuoNhP3xitkD6gzQlfFsHE%3D&amp;reserved=0
> <https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.google.co.uk&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C59e0cb9d040846c48c7108d71fc8c022%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=Bjhifm%2BzAIcPCKh%2FHt3ykAV931w%2BWAURbVTxLUY8zw8%3D&amp;reserved=0>";*
>
> *$self->{processor}->add_message( "message",*
>
> *$self->{repository}->make_text( *
>
> *$self->{session}->render_link( $uri ))*
>
> );
>
>         }
>
>
> Is there a way that I can alter this to show a clickable text link or am I
> going to need to go further down the EPrints Rabbit Hole? My alternative
> approach is to alter render_messages in ScreenProcessor.pm, but I don't
> really want to do that and I also don't know how to make a local archive
> copy of this file either as it's a few levels up from the plugins directory.
>
> Any suggestions or alternative approaches are very welcome.
>
> Thanks,
> James
>

*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive: http://www.eprints.org/tech.php/
*** EPrints community wiki: http://wiki.eprints.org/
*** EPrints developers Forum: http://forum.eprints.org/
image.png (image/png, 17 KB) - not displayed
image.png (image/png, 20 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.