protected function getJsonView($data, \Request $request)
 {
     $vars = $request->getRequestVars();
     $command = '';
     if (!empty($data['command'])) {
         $command = $data['command'];
     }
     if ($command == 'getDetails' && \Current_User::allow('systemsinventory', 'view')) {
         $result = SDFactory::getSystemDetails($vars['device_id'], $vars['row_index']);
     } else {
         if (\Current_User::allow('systemsinventory', 'edit')) {
             $system_details = '';
             switch ($command) {
                 case 'searchUser':
                     $result = SDFactory::searchUserByUsername($vars['username']);
                     break;
                 case 'getUser':
                     $result = SDFactory::getUserByUsername($vars['username']);
                     break;
                 case 'getProfile':
                     $result = SDFactory::getProfile($vars['profile_id']);
                     break;
                 case 'searchPhysicalID':
                     $result = SDFactory::searchPhysicalID($vars['physical_id']);
                     break;
                 case 'delete':
                     $result = SDFactory::deleteDevice($vars['device_id'], $vars['specific_device_id'], $vars['device_type_id']);
                     break;
                 default:
                     throw new Exception("Invalid command received in system controller getJsonView. Command = {$command}");
             }
         } else {
             $result = array('Error');
         }
     }
     $view = new \View\JsonView($result);
     return $view;
 }