GDPR
Revision as of 10:53, 25 April 2018 by Rwf1v07@soton.ac.uk (talk | contribs) (Created page with "This page has been created to gather information and share code snippets to help EPrints repositories handle GDPR responsibilities. ==Last Login Time== Storing the last login...")
This page has been created to gather information and share code snippets to help EPrints repositories handle GDPR responsibilities.
Last Login Time
Storing the last login time of a user can be useful to identify which users are active and which are not to help ensure data is not being stored longer than is necessary.
First a new user field for storing the time is required in user_fields.pl
push @{$c->{fields}->{user}},
{
'name' => 'last_login',
'type' => 'text',
},
};
And then add the following code to $c->{check_user_password} in user_login.pl to store the time at which a user successfully logs in.
#get user from username
my $user = EPrints::DataObj::User::user_with_username( $repository, $username );
#get time and compile a string
my( @local ) = localtime( time );
my ( $sec, $min, $hour, $day, $mon, $year ) = ( $local[0], $local[1], $local[2], $local[3], $local[4]+1, $local[5]+1900 );
my $loginTime = "$year-$mon-$day $hour:$min:$sec";
#store the value
$user->set_value( "last_login", $loginTime );
$user->commit();
#return user
return 1;
Non-Active Users Report
TODO
Delete User Action
TODO