Страница 1 из 1

Eprints3: can't call method on an undefined value

Добавлено: 2013-04-05 12:23:01
matasar
Добрый день!
Помогите решить проблему. Возможно кто то знаком с системой Eprints3, для создания депозитариев. Система бесплатна, ее можно скачать по указанной ссылке. С недавних пор при регистрации новых пользователей начала вылетать страница 500 internal server error, в логах пишет can't call method "update_triggers" on an undefined value at .../eprints3/perl_lib/Eprints/DataObj/User.pm line 303.\n

Все что можно проверял, уже не знаю что может провоцировать эту ошибку, подскажите куда копать. Спасибо!

Код: Выделить всё

sub create_from_data
{
	my( $class, $session, $data, $dataset ) = @_;

	my $new_user = $class->SUPER::create_from_data( $session, $data, $dataset );

	$new_user->update_triggers(); #строка 303
	
	if( scalar( keys %{$new_user->{changed}} ) > 0 )
	{
		# Remove empty slots in multiple fields
		$new_user->tidy;

		# Write the data to the database
		$session->get_database->update(
			$new_user->{dataset},
			$new_user->{data},
			$new_user->{changed} );
	}

	$session->get_database->counter_minimum( "userid", $new_user->get_id );

	return $new_user;
}

Код: Выделить всё

sub update_triggers
{
	my( $self ) = @_;

	$self->SUPER::update_triggers();

	if( $self->{non_volatile_change} )
	{
		$self->set_value( "lastmod", EPrints::Time::get_iso_timestamp() );

		my $action = "clear_triples";
		if( $self->value( "eprint_status" ) eq "archive" )
		{
			$action = "update_triples";
		}

		my $user = $self->{session}->current_user;
		my $userid;
		$userid = $user->id if defined $user;

		EPrints::DataObj::EventQueue->create_unique( $self->{session}, {
			pluginid => "Event::RDF",
			action => $action,
			params => [$self->internal_uri],
			userid => $userid,
		});
	}
}

Re: Eprints3: can't call method on an undefined value

Добавлено: 2013-04-05 12:36:41
matasar
Поигрались с правами, вроде бы заработало. Не понимаю как так вышло.

Re: Eprints3: can't call method on an undefined value

Добавлено: 2013-04-05 18:09:15
matasar
matasar писал(а):Депозитариев
Извините, неудачный автокоррект. Репозиториев.