/// <summary>
 /// Fixed:
 /// </summary>
 public static Error.Types OnEditing(SiteSettings ss)
 {
     if (!ss.CanSendMail())
     {
         return(Error.Types.HasNotPermission);
     }
     return(Error.Types.None);
 }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
 /// <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()))));
 }
Exemplo n.º 4
0
        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();
            })));
        }