/**
  * Display the "assignment detail" page.
  *
  * @param token
  * @param request
  * @return
  */
 @RequestMapping("/assignments/{token}")
 public ModelAndView assignmentDetail(
     @PathVariable("token") String token, HttpServletRequest request) {
   Tracer.start(TracerCategory.AdminUserInterface, "assignmentDetail", LOGGER);
   try {
     Map<String, Object> data = createBaseData(request);
     ITenant tenant = (ITenant) data.get(DATA_TENANT);
     IDeviceManagement management = SiteWhere.getServer().getDeviceManagement(tenant);
     IDeviceAssignment assignment = management.getDeviceAssignmentByToken(token);
     if (assignment != null) {
       DeviceAssignmentMarshalHelper helper = new DeviceAssignmentMarshalHelper(tenant);
       helper.setIncludeDevice(true);
       assignment =
           helper.convert(assignment, SiteWhere.getServer().getAssetModuleManager(tenant));
       data.put("assignment", assignment);
       return new ModelAndView("assignments/detail", data);
     }
     return showError("Assignment for token '" + token + "' not found.");
   } catch (NoTenantException e) {
     return showTenantChoices(getUrl(request), request);
   } catch (SiteWhereException e) {
     return showError(e);
   } finally {
     Tracer.stop(LOGGER);
   }
 }