/// <summary> /// Fixed: /// </summary> public static Error.Types OnEditing(SiteSettings ss) { if (!ss.CanSendMail()) { return(Error.Types.HasNotPermission); } return(Error.Types.None); }
/// <summary> /// Fixed: /// </summary> public static Error.Types OnSending( SiteSettings ss, OutgoingMailModel outgoingMailModel, out string data) { data = null; if (!ss.CanSendMail()) { return(Error.Types.HasNotPermission); } if ((outgoingMailModel.To + outgoingMailModel.Cc + outgoingMailModel.Bcc).Trim() == string.Empty) { return(Error.Types.RequireMailAddresses); } var badTo = MailAddressValidators.BadMailAddress( outgoingMailModel.To, out data); if (badTo != Error.Types.None) { return(badTo); } var badCc = MailAddressValidators.BadMailAddress( outgoingMailModel.Cc, out data); if (badCc != Error.Types.None) { return(badCc); } var badBcc = MailAddressValidators.BadMailAddress( outgoingMailModel.Bcc, out data); if (badBcc != Error.Types.None) { return(badBcc); } var externalTo = MailAddressValidators.ExternalMailAddress( outgoingMailModel.To, out data); if (externalTo != Error.Types.None) { return(externalTo); } var externalCc = MailAddressValidators.ExternalMailAddress( outgoingMailModel.Cc, out data); if (externalCc != Error.Types.None) { return(externalCc); } var externalBcc = MailAddressValidators.ExternalMailAddress( outgoingMailModel.Bcc, out data); if (externalBcc != Error.Types.None) { return(externalBcc); } return(Error.Types.None); }
/// <summary> /// Fixed: /// </summary> public static HtmlBuilder OutgoingMailListItem( this HtmlBuilder hb, SiteSettings ss, OutgoingMailModel outgoingMailModel) { return(hb.Div( css: "item", action: () => hb .H(number: 3, css: "title-header", action: () => hb .Text(text: Displays.SentMail())) .Div(css: "content", action: () => hb .FieldText( controlId: string.Empty, labelText: Displays.OutgoingMails_SentTime(), text: outgoingMailModel.SentTime.Value .ToLocal(Displays.Get("YmdahmFormat")), fieldCss: "field-auto") .FieldText( controlId: string.Empty, labelText: Displays.OutgoingMails_From(), text: outgoingMailModel.From.ToString(), fieldCss: "field-auto-thin") .OutgoingMailListItemDestination( outgoingMailModel.To, Displays.OutgoingMails_To()) .OutgoingMailListItemDestination( outgoingMailModel.Cc, Displays.OutgoingMails_Cc()) .OutgoingMailListItemDestination( outgoingMailModel.Bcc, Displays.OutgoingMails_Bcc()) .FieldText( controlId: string.Empty, labelText: Displays.OutgoingMails_Title(), text: outgoingMailModel.Title.Value, fieldCss: "field-wide") .FieldMarkUp( controlId: string.Empty, labelText: Displays.OutgoingMails_Body(), text: outgoingMailModel.Body, fieldCss: "field-wide") .Div( css: "command-right", action: () => hb .Button( text: Displays.Reply(), controlCss: "button-icon", onClick: "$p.openOutgoingMailReplyDialog($(this));", dataId: outgoingMailModel.OutgoingMailId.ToString(), icon: "ui-icon-mail-closed", action: "Reply", method: "put"), _using: ss.CanSendMail())))); }
public static HtmlBuilder MainCommands( this HtmlBuilder hb, SiteSettings ss, long siteId, Versions.VerTypes verType, long referenceId = 0, bool backButton = true, bool updateButton = false, bool copyButton = false, bool moveButton = false, bool mailButton = false, bool deleteButton = false, Action extensions = null) { return(hb.Div(id: "MainCommandsContainer", action: () => hb .Div(id: "MainCommands", action: () => { if (backButton) { hb.Button( controlId: "GoBack", text: Displays.GoBack(), controlCss: "button-icon", accessKey: "q", onClick: "$p.back();", icon: "ui-icon-circle-arrow-w"); } if (Routes.Action() == "new") { hb.Button( text: Displays.Create(), controlCss: "button-icon validate", accessKey: "s", onClick: "$p.send($(this));", icon: "ui-icon-disk", action: "Create", method: "post"); } else if (ss.CanRead() && verType == Versions.VerTypes.Latest) { hb .Button( text: Displays.Update(), controlCss: "button-icon validate", accessKey: "s", onClick: "$p.send($(this));", icon: "ui-icon-disk", action: "Update", method: "put", _using: updateButton && ss.CanUpdate()) .Button( text: Displays.Copy(), controlCss: "button-icon open-dialog", accessKey: "c", onClick: "$p.openDialog($(this));", icon: "ui-icon-copy", selector: "#CopyDialog", _using: copyButton && ss.CanCreate()) .Button( text: Displays.Move(), controlCss: "button-icon open-dialog", accessKey: "o", onClick: "$p.moveTargets($(this));", icon: "ui-icon-transferthick-e-w", selector: "#MoveDialog", action: "MoveTargets", method: "get", _using: moveButton && ss.CanUpdate()) .Button( controlId: "EditOutgoingMail", text: Displays.Mail(), controlCss: "button-icon", onClick: "$p.openOutgoingMailDialog($(this));", icon: "ui-icon-mail-closed", action: "Edit", method: "put", accessKey: "m", _using: mailButton && ss.CanSendMail()) .Button( text: Displays.Delete(), controlCss: "button-icon", accessKey: "r", onClick: "$p.send($(this));", icon: "ui-icon-trash", action: "Delete", method: "delete", confirm: "ConfirmDelete", _using: deleteButton && ss.CanDelete() && !ss.IsSite()) .Button( text: Displays.DeleteSite(), controlCss: "button-icon", accessKey: "r", onClick: "$p.openDeleteSiteDialog($(this));", icon: "ui-icon-trash", _using: deleteButton && ss.CanDelete() && ss.IsSite()); if (Routes.Controller() == "items" && ss.ReferenceType != "Sites") { switch (Routes.Action()) { case "index": hb .Button( text: Displays.BulkMove(), controlCss: "button-icon open-dialog", accessKey: "o", onClick: "$p.moveTargets($(this));", icon: "ui-icon-transferthick-e-w", selector: "#MoveDialog", action: "MoveTargets", method: "get", _using: ss.CanUpdate()) .Button( text: Displays.BulkDelete(), controlCss: "button-icon", accessKey: "r", onClick: "$p.send($(this));", icon: "ui-icon-trash", action: "BulkDelete", method: "delete", confirm: "ConfirmDelete", _using: ss.CanDelete()) .Button( controlId: "EditImportSettings", text: Displays.Import(), controlCss: "button-icon", accessKey: "w", onClick: "$p.openImportSettingsDialog($(this));", icon: "ui-icon-arrowreturnthick-1-e", selector: "#ImportSettingsDialog", _using: ss.CanImport()) .Button( text: Displays.Export(), controlCss: "button-icon", accessKey: "x", onClick: "$p.openExportSelectorDialog($(this));", icon: "ui-icon-arrowreturnthick-1-w", action: "OpenExportSelectorDialog", method: "post", _using: ss.CanExport()); break; case "crosstab": hb.Button( text: Displays.Export(), controlCss: "button-icon", accessKey: "x", onClick: "$p.exportCrosstab();", icon: "ui-icon-arrowreturnthick-1-w", _using: ss.CanExport()); break; } } } extensions?.Invoke(); }))); }