private void InitIssueHeaderActions(IssueInfo issue, HeaderActions hdrActions)
    {
        var sendingIssueAllowed = issue.IssueStatus == IssueStatusEnum.Idle || issue.IssueStatus == IssueStatusEnum.ReadyForSending;

        if (!sendingIssueAllowed)
        {
            return;
        }

        var recipientsCountAllowed = LicenseMaxNumberOfRecipients.Value == 0 || MarketableRecipientsCount.Value <= LicenseMaxNumberOfRecipients.Value;

        if (!recipientsCountAllowed)
        {
            plcMess.AddError(string.Format(GetString("newsletter.issue.send.subcriberlimiterror"), MarketableRecipientsCount.Value, LicenseMaxNumberOfRecipients.Value));
        }

        var hasWidgetWithUnfilledRequiredProperty = issue.HasWidgetWithUnfilledRequiredProperty();
        var hasWidgetWithMissingDefinition        = issue.HasWidgetWithMissingDefinition();
        var isValidWidgetDefinition = !hasWidgetWithUnfilledRequiredProperty && !hasWidgetWithMissingDefinition;

        if (!isValidWidgetDefinition)
        {
            plcMess.AddError(GetString("newsletter.issue.send.widgeterror"));
        }

        if (IsIssueTemplateBased)
        {
            AddTemplateBasedHeaderActions(hdrActions, isValidWidgetDefinition && recipientsCountAllowed);
        }
        else
        {
            AddSendHeaderAction(hdrActions, isValidWidgetDefinition && recipientsCountAllowed);
        }
    }
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        IssueInfo issue = IssueInfoProvider.GetIssueInfo(IssueID);

        // If issue is already scheduled or sent, show the mail-out time
        if (issue.IssueMailoutTime != DateTimeHelper.ZERO_TIME)
        {
            calendarControl.SelectedDateTime = issue.IssueMailoutTime;
        }

        // If issue is being send or was already sent, disable the date time picker
        if (issue.IssueStatus == IssueStatusEnum.Finished ||
            issue.IssueStatus == IssueStatusEnum.PreparingData ||
            issue.IssueStatus == IssueStatusEnum.Sending ||
            issue.HasWidgetWithUnfilledRequiredProperty())
        {
            calendarControl.Enabled = false;
        }
    }