Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod IsValidInput ( 
 | 
  output String feedback_o, 
 | 
  const SWF_ActivityBase current_activity, 
 | 
  String name, 
 | 
  const SWF_Step parent_step, 
 | 
  String authorization 
 | 
) const declarative remote as Boolean 
 | 
{ 
 | 
  Description: 'Validate input for activity' 
 | 
  TextBody: 
 | 
  [* 
 | 
    result := true; 
 | 
    isCreatingOnCompletedParent := not isnull( parent_step )  
 | 
                                 and isnull( current_activity )  
 | 
                                 and parent_step.IsCompleted(); 
 | 
                                  
 | 
    isMovingToCompletedParent := not isnull( parent_step )  
 | 
                                 and not isnull( current_activity )  
 | 
                                 and current_activity.ParentStep() <> parent_step  
 | 
                                 and parent_step.IsCompleted() 
 | 
     
 | 
    if( name = '' ) 
 | 
    { 
 | 
      result := false; 
 | 
      feedback_o := SWF_Translation::TRANSLATE_ActivityMustHaveName();               
 | 
    } 
 | 
    else if( isCreatingOnCompletedParent 
 | 
             or isMovingToCompletedParent ) 
 | 
    { 
 | 
      result := false; 
 | 
      feedback_o := SWF_Translation::TRANSLATE_StepMustOpenToCreateActivity(); 
 | 
    } 
 | 
    else if( authorization = '' 
 | 
             or authorization = SWF_AuthorizationBase::GetStringSelectionSeparator() ) 
 | 
    { 
 | 
      result := false; 
 | 
      feedback_o := SWF_Translation::TRANSLATE_ActivityMustHaveAuthorization(); 
 | 
    } 
 | 
     
 | 
    return result; 
 | 
  *] 
 | 
} 
 |