public async Task <IActionResult> IpSearch(
            Guid?siteId,
            string ipQuery = "")
        {
            var selectedSite = await _siteManager.GetSiteForDataOperations(siteId);

            // only server admin site can edit other sites settings
            if (selectedSite.Id != _siteManager.CurrentSite.Id)
            {
                ViewData["Title"] = string.Format(CultureInfo.CurrentUICulture, _sr["{0} - User Management"], selectedSite.SiteName);
            }
            else
            {
                ViewData["Title"] = _sr["User Management"];
            }

            var siteMembers = await _userManager.GetByIPAddress(
                selectedSite.Id,
                ipQuery);

            // not really paged in UI but re-using the ViewModel which needs a PagedResult
            var data = new PagedResult <IUserInfo>
            {
                Data       = siteMembers,
                PageNumber = 1,
                PageSize   = 2000,
                TotalItems = siteMembers.Count()
            };

            var model = new UserListViewModel
            {
                SiteId         = selectedSite.Id,
                UserList       = data,
                IpQuery        = ipQuery, //TODO: sanitize
                ShowAlphaPager = false,
                TimeZoneId     = await _timeZoneIdResolver.GetUserTimeZoneId(),
                ActionName     = "IpSearch"
            };

            return(View("Index", model));
        }