Quintiq file version 2.0
#parent: #root
Method Open (
  LibCal_Participation participation_i
) id:Method_LibCal_dlgSubscription_Open
{
  #keys: '[131094.0.2063143478]'
  Body:
  [*
    // Set the checkboxes.
    if( participation_i.IsLeading() or
        participation_i.astype( LibCal_Subscription ).UseLeadingPeriod() )
    {
      ckbAllOccurrences.Checked( true );
      this.DisablePeriodOfTime( "" );
    }
    else
    {
      ckbPeriodOfTime.Checked( true );
    }
    
    // Initialize the values of the controls for the period of time.
    if( participation_i.IsRecurring() )
    {
      this.InitializeRecurrencePeriod( participation_i.GetRecurrencePeriod() );
    }
    else
    {
      this.InitializeNonRecurring();
    }
    
    Form.Show( "modal" );
    
    // Unlike DoModal() in the TC, Show( "modal" ) does not block execution.
    // So it is not possible it 'wait' here and see how the dialog is closed,
    // specific processing needs to be implemented in the responses of the buttons of the dialog.
  *]
}
