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; } }