@Override public ConfigurationManager getProgramSectionConfigManager() { if (modelDefinition.getMetadata().isCanEdit()) { return programSectionConfigManager; } else { return proposalSummarySectionConfigurer; } }
/** * This makes sure that for any dirty element in the inbound data that the user has authorization to edit * that field. * */ @Override public void applyInboundDataFilter(Data data, Metadata metadata, Map<String,Object> filterProperties) throws Exception { if(metadata != null && !metadata.isCanEdit()) { throw new Exception("Document is read only"); } List<QueryPath> dirtyPaths = AssemblerUtils.findDirtyElements(data); for(QueryPath path : dirtyPaths) { if (path.contains("_runtimeData")) { Metadata fieldMetadata = AssemblerUtils.get(metadata, path); if (null != fieldMetadata && !fieldMetadata.isCanEdit()) { throw new Exception( "User does not have edit permission for field"); } } } //TODO: If fields were masked, need to prevent masked values from being persisted. }
private String calcWidget(Metadata fieldMeta) { StringBuilder bldr = new StringBuilder(); String comma = ""; if (!fieldMeta.isCanEdit()) { bldr.append(comma); bldr.append("not editable"); comma = ", "; } if (!fieldMeta.isCanView()) { bldr.append(comma); bldr.append("not viewable"); comma = ", "; } if (!fieldMeta.isCanUnmask()) { bldr.append(comma); bldr.append("Not unmaskable"); comma = ", "; } if (fieldMeta.getInitialLookup() != null) { bldr.append(comma); bldr.append(fieldMeta.getInitialLookup().getWidget()); comma = ", "; } if (bldr.length() == 0) { bldr.append(" "); } return bldr.toString(); }
if (dataValue instanceof String && !propMetadata.isCanEdit()){ if (StringUtils.isNotBlank(propMetadata.getMaskFormatter())){ data.set(propName, propMetadata.getMaskFormatter());
if(!child.isCanEdit()) { setReadOnly(child, true);
@Override public void onSuccess(Metadata result) { super.onSuccess(result); DataModelDefinition def = new DataModelDefinition(result); programModel.setDefinition(def); comparisonModel.setDefinition(def); lastLoadedStatus = ProgramStatus.of(programModel); afterMetadataLoaded(onReadyCallback); if (result.isCanEdit()){ sideBar.setState(ProgramSideBar.State.EDIT); }else { sideBar.setState(ProgramSideBar.State.VIEW); } }
@Override public Widget getWidget(Metadata meta) { WidgetConfigInfo config = new WidgetConfigInfo(); if (meta != null) { config.access = meta.getWriteAccess(); config.isMultiLine = MetadataInterrogator.isMultilined(meta); config.isRepeating = MetadataInterrogator.isRepeating(meta); config.isRichText = MetadataInterrogator.hasConstraint(meta, ConstraintIds.RICH_TEXT); config.maxLength = MetadataInterrogator.getSmallestMaxLength(meta); config.type = meta.getDataType(); config.metadata = meta; config.lookupMeta = meta.getInitialLookup(); config.additionalLookups = meta.getAdditionalLookups(); config.canEdit = meta.isCanEdit(); config.canUnmask = meta.isCanUnmask(); config.canView = meta.isCanView(); } return _getWidget(config); }