ModifyUserPreferences
Jump to navigation
Jump to search
I had a situation where a once-privileged user had been made non-privileged, since they had left our institute, but they had email preference settings set to weekly batch.
Unfortunately, the GUI has no interface to change a user's preferences, other than having the user do it themselves. Fortunately, it wasn't too difficult to write a small perl script to delete a named user's email preference setting:
#!/usr/bin/perl -w use strict; use lib qw(/opt/rt3/lib /opt/rt3/local/lib); use Getopt::Long; use RT; use RT::Interface::CLI qw/GetCurrentUser/; RT::LoadConfig; RT::Init; my $name; GetOptions("name=s" => \$name); die "Usage: $0 --name=bloggs\n" unless ($name); my $u = RT::User->new($RT::SystemUser); my ($id, $err) = $u->LoadByCol('Name' => $name); die("Couldn't load user '$name': $err\n") unless ($id > 0); my $p = $u->Preferences( $RT::System ); delete($p->{'EmailFrequency'}); $u->SetPreferences( $RT::System, $p);