# File control/AdminPassword/AdminPassword.rb, line 37
  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