public override void update() { CswNbtMetaDataObjectClass ChemicalOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.ChemicalClass ); CswNbtMetaDataObjectClass RequestItemOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RequestItemClass ); foreach( CswNbtMetaDataNodeType RequestItemNT in RequestItemOC.getNodeTypes() ) { //Set NewMaterialType default value CswNbtMetaDataNodeTypeProp NewMaterialTypeNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.NewMaterialType ); if( null != ChemicalOC.FirstNodeType && null != NewMaterialTypeNTP ) { NewMaterialTypeNTP.DefaultValue.AsNodeTypeSelect.SelectedNodeTypeIds.Add( ChemicalOC.FirstNodeType.NodeTypeId.ToString() ); } CswNbtMetaDataNodeTypeProp DescriptionNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.Description ); //Set RequestItem name template RequestItemNT.setNameTemplateText( CswNbtMetaData.MakeTemplateEntry( DescriptionNTP.PropName ) ); //Hide Internal Flags and States CswNbtMetaDataNodeTypeProp TypeNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.Type ); TypeNTP.Hidden = true; CswNbtMetaDataNodeTypeProp IsFavoriteNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.IsFavorite ); IsFavoriteNTP.Hidden = true; CswNbtMetaDataNodeTypeProp IsRecurringNTP = RequestItemNT.getNodeTypePropByObjectClassProp( CswNbtObjClassRequestItem.PropertyName.IsRecurring ); IsRecurringNTP.Hidden = true; //Remove all props from all layouts foreach( CswNbtMetaDataNodeTypeProp Prop in RequestItemNT.getNodeTypeProps() ) { if( Prop.PropName != CswNbtObjClass.PropertyName.Save ) { Prop.removeFromAllLayouts(); } } //Give CRUD permissions to applicable Roles and Users CswNbtMetaDataObjectClass RoleOC = _CswNbtSchemaModTrnsctn.MetaData.getObjectClass( CswEnumNbtObjectClass.RoleClass ); foreach( CswNbtObjClassRole RoleNode in RoleOC.getNodes( false, false, false, true ) ) { _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.View, RequestItemNT, RoleNode, RoleNode.Administrator.Checked == CswEnumTristate.True || RoleNode.Name.Text.Contains( "CISPro" ) ); if( RoleNode.Administrator.Checked == CswEnumTristate.True || ( RoleNode.Name.Text.Contains( "CISPro" ) && RoleNode.Name.Text != "CISPro_View_Only" ) ) { _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtActionName.Submit_Request, RoleNode, true ); _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.Edit, RequestItemNT, RoleNode, true ); _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.Create, RequestItemNT, RoleNode, true ); _CswNbtSchemaModTrnsctn.Permit.set( CswEnumNbtNodeTypePermission.Delete, RequestItemNT, RoleNode, true ); } } } _updateAddLayout(); _updateEditLayout(); _updatePreviewLayout(); _updateTableLayout(); _updateRequestViews(); } // update()