Quintiq file version 2.0
#parent: DataHolderAllScenario
Response OnDataChanged () id:Response_TIANMA_JITUAN_ApplicationMacroPlanner_DataHolderAllScenario_OnDataChanged
{
  #keys: '[414702.1.169517835]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      user := QuintiqUser::CurrentUser();
      scenarionodes := construct( ScenarioNodes );
      
      if( user.IsAdministrator()
          or not exists( ScenarioManager, ScenarioNode.ScenarioAuthorization, sa, true ) )
      {
        scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode, true );
      }
      else
      {
        scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode,
                                    guard( scenarionode.astype( ScenarioFolder ).IsRecycleBin(), false )
                                    or scenarionode.CreatedBy().ToUpper() = user.ShortName().ToUpper()
                                    or exists( scenarionode, ScenarioAuthorization, sa,
                                               user.IsMemberOfGroup( sa.Name() ) ) );
      }
      
      DataHolderAvailableScenarios.Data( &scenarionodes );
    *]
  }
}
