Quintiq file version 2.0
#parent: #root
Method New (
  internal[GUIComponent] parent,
  SWF_Step step
) id:Method_SWF_DialogCreateEditActivity_New
{
  #keys: '[113694.2.1190086118]'
  Body:
  [*
    // Create new activity
    currentdate := SWF_WorkflowDataset.GlobalParameter().CurrentDate();
    
    data := SWF_WorkflowDataset.WorkflowDefinition().ActiveWorkflow().Element( relshadow, 
                                                                               SWF_Activity,
                                                                               ParentStep := step,
                                                                               DueDateManual := currentdate,
                                                                               HasParentStep := not isnull( step ) );                                                                           
    Dialog.Data( data );
    
    SelectionParent.Enabled( not isnull( step ) );
    
    result := this.DoModal( parent );
    
    if( result > 0 )
    {
      selected_authorization := SWF_AuthorizationBase::GetSelectedAuthorizationFromStringSelections( SWF_WorkflowDataset,
                                                                                                     SWF_StringSelectionManagedBy.BoundValue(),
                                                                                                     SWF_StringSelectionManagedBy.SelectedElement() );
      //Auto set created time and created user name
      description :=SWF_Translation::TRANSLATE_NewActivityCreatedBy( DateTime::Now(), SWF_WorkflowDataset.GetCurrentUser().Name() ) + String::NewLine() + data.Description();                                                                                                
      service := SWF_WorkflowDataset.Service();
      service.TR_CreateUpdateActivity(  Key::ZeroKey(), //SWF_WorkflowDataset.GetNewGlobalID(),
                                        data.Name(),
                                        description,
                                        true, // user-created activities can still be linked to a step for the progress KPIs, but the status of the activity never depend on the step dependencies.
                                        true,
                                        data.DueDateManual(),
                                        currentdate,
                                        SWF_WorkflowDataset.GetCurrentUserID(),
                                        guard( selected_authorization.DisplayName(), '' ),
                                        guard( data.ParentStep().ID(), Key::ZeroKey() ),
                                        data.ViewLink(),
                                        guard( data.ViewLinkWeb(), '' ) );                            
    Dialog.ShowInfoMessage();
    }
  *]
}
