Newer
Older
Digital_Repository / Repositories / otago_eprints3 / otago_eprints / cfg / cfg.d / eprint_warnings.pl


######################################################################
#
# eprint_warnings( $eprint, $session )
#
######################################################################
#
# $eprint 
# - EPrint object
# $session 
# - Session object (the current session)
#
# returns: @problems
# - ARRAY of DOM objects (may be null)
#
######################################################################
#
# Create warnings which will appear on the final deposit page but
# will not actually prevent the item being deposited.
#
# Any span tags with a class of ep_problem_field:fieldname will be
# linked to fieldname in the workflow.
#
######################################################################

$c->{eprint_warnings} = sub
{
	my( $eprint, $session ) = @_;

	my @problems = ();

	my @docs = $eprint->get_all_documents;
	if( @docs == 0 )
	{
		push @problems, $session->html_phrase( "warnings:no_documents" );
	}

	my $all_public = 1;
	foreach my $doc ( @docs )
	{
		if( $doc->get_value( "security" ) ne "public" ) 
		{ 
			$all_public = 0; 
		}
	}

	if( !$all_public && !$eprint->is_set( "contact_email" ) )
	{
		push @problems, $session->html_phrase( "warnings:no_contact_email" );
	}
		


	return( @problems );
};