def change_password
old_encrypted_password = @admin_params.admin_password
if (empty_string? old_encrypted_password) then
unless (empty_string? @old_password) then
raise 'mismatch old password.'
end
else
if (old_encrypted_password != @pw_enc.crypt(@old_password, old_encrypted_password)) then
raise 'mismatch old password.'
end
end
if (@new_password != @retype_password) then
raise 'mismatch new password.'
end
if (empty_string? @new_password) then
@admin_params.admin_password = ''
else
@admin_params.admin_password = @pw_enc.crypt(@new_password)
end
@control.set_admin_params(@admin_params)
@driver.redirect('Administrator')
nil
end