Beispiel #1
0
        public ActionResult ViewEntity(string entity)
        {
            HelpPermissions.ViewHelp.AssertAuthorized();

            Type type = TypeLogic.GetType(entity);

            EntityHelp eh = HelpLogic.GetEntityHelp(type);

            return(View(HelpClient.ViewEntityUrl, eh));
        }
Beispiel #2
0
        public override void Execute()
        {
            DefineSection("head", () => {
                WriteLiteral("\r\n");

                WriteLiteral("    ");


            #line 12 "..\..\Help\Views\ViewEntity.cshtml"
                Write(Html.ScriptCss("~/help/Content/help.css"));


            #line default
            #line hidden
                WriteLiteral("\r\n");
            });

            WriteLiteral("\r\n");


            #line 15 "..\..\Help\Views\ViewEntity.cshtml"

            EntityHelp eh = (EntityHelp)Model;
            ViewBag.Title = eh.Type.NiceName();


            #line default
            #line hidden
            WriteLiteral("\r\n\r\n");

            WriteLiteral("\r\n\r\n<div");

            WriteLiteral(" class=\"row\"");

            WriteLiteral(">\r\n    <div");

            WriteLiteral(" class=\"col-md-9\"");

            WriteLiteral(">\r\n");


            #line 52 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 52 "..\..\Help\Views\ViewEntity.cshtml"
            using (TypeContext <EntityHelpEntity> ec = new TypeContext <EntityHelpEntity>(eh.Entity.Value, null))
            {
                var name = Navigator.ResolveWebTypeName(eh.Type);
                ec.FormGroupStyle = FormGroupStyle.None;


                using (Html.BeginForm((HelpController hc) => hc.SaveEntity(), new { id = "form-save" }))
                {
            #line default
            #line hidden

            #line 60 "..\..\Help\Views\ViewEntity.cshtml"
                    Write(Html.HiddenRuntimeInfo(ec));


            #line default
            #line hidden

            #line 60 "..\..\Help\Views\ViewEntity.cshtml"



            #line default
            #line hidden

            #line 61 "..\..\Help\Views\ViewEntity.cshtml"
                    Write(Html.HiddenRuntimeInfo(ec, e => e.Culture));


            #line default
            #line hidden

            #line 61 "..\..\Help\Views\ViewEntity.cshtml"



            #line default
            #line hidden

            #line 62 "..\..\Help\Views\ViewEntity.cshtml"
                    Write(Html.HiddenRuntimeInfo(ec, e => e.Type));


            #line default
            #line hidden

            #line 62 "..\..\Help\Views\ViewEntity.cshtml"

                    if (!Navigator.IsReadOnly(typeof(EntityHelpEntity)))
                    {
                        Html.RenderPartial(HelpClient.Buttons, new ViewDataDictionary
                        {
                            { "options", Database.Query <EntityHelpEntity>()
                              .Where(e => e.Type == ec.Value.Type && e.Culture != ec.Value.Culture)
                              .Select(e => new { e.Culture })
                              .ToList()
                              .Select(e => KVP.Create(e.Culture.ToCultureInfo(), this.Url.Action((HelpController a) => a.TraslateEntity(e.Culture.Name))))
                              .ToDictionary() }
                        });
                    }


            #line default
            #line hidden
                    WriteLiteral("            <div");

                    WriteLiteral(" class=\"edit-container\"");

                    WriteLiteral(">\r\n                <h1");

                    WriteAttribute("title", Tuple.Create(" title=\"", 2876), Tuple.Create("\"", 2902)

            #line 76 "..\..\Help\Views\ViewEntity.cshtml"
                                   , Tuple.Create(Tuple.Create("", 2884), Tuple.Create <System.Object, System.Int32>(eh.Type.Namespace

            #line default
            #line hidden
                                                                                                                     , 2884), false)
                                   );

                    WriteLiteral(">");


            #line 76 "..\..\Help\Views\ViewEntity.cshtml"
                    Write(eh.Type.NiceName());


            #line default
            #line hidden
                    WriteLiteral("</h1>\r\n                <code");

                    WriteLiteral(" class=\'shortcut\'");

                    WriteLiteral(">[e:");


            #line 77 "..\..\Help\Views\ViewEntity.cshtml"
                    Write(name);


            #line default
            #line hidden
                    WriteLiteral("]</code>\r\n                <span");

                    WriteLiteral(" class=\"info\"");

                    WriteLiteral(">\r\n");

                    WriteLiteral("                    ");


            #line 79 "..\..\Help\Views\ViewEntity.cshtml"
                    Write(Html.WikiParse(eh.Info, HelpWiki.DefaultWikiSettings));


            #line default
            #line hidden
                    WriteLiteral("\r\n                </span>\r\n");

                    WriteLiteral("                ");


            #line 81 "..\..\Help\Views\ViewEntity.cshtml"
                    Write(Html.TextArea(ec.SubContextPrefix(a => a.Description), eh.Description, 5, 80, new { @class = "editable" }));


            #line default
            #line hidden
                    WriteLiteral("\r\n                <span");

                    WriteLiteral(" class=\"wiki\"");

                    WriteLiteral(">\r\n");

                    WriteLiteral("                    ");


            #line 83 "..\..\Help\Views\ViewEntity.cshtml"
                    Write(Html.WikiParse(eh.Description, HelpWiki.DefaultWikiSettings));


            #line default
            #line hidden
                    WriteLiteral("\r\n                </span>\r\n            </div>\r\n");

                    WriteLiteral("            <div");

                    WriteLiteral(" id=\"entityContent\"");

                    WriteLiteral(" class=\"help_left\"");

                    WriteLiteral(">\r\n");


            #line 87 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 87 "..\..\Help\Views\ViewEntity.cshtml"

                    var allowedProps = eh.Properties.Where(a => a.Value.IsAllowed() == null).ToDictionary();


            #line default
            #line hidden
                    WriteLiteral("\r\n\r\n");


            #line 91 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 91 "..\..\Help\Views\ViewEntity.cshtml"
                    if (allowedProps.Any())
                    {
            #line default
            #line hidden
                        WriteLiteral("                    <div");

                        WriteLiteral(" id=\"properties\"");

                        WriteLiteral(">\r\n                        <h2");

                        WriteLiteral(" class=\"greyTitle\"");

                        WriteLiteral(">");


            #line 94 "..\..\Help\Views\ViewEntity.cshtml"
                        Write(Html.PropertyNiceName(() => eh.Entity.Value.Properties));


            #line default
            #line hidden
                        WriteLiteral("</h2>\r\n");


            #line 95 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 95 "..\..\Help\Views\ViewEntity.cshtml"

                        var elementContexts = ec.TypeElementContext(e => e.Properties).ToDictionary(a => a.Value.Property.Path);

                        var tuplesDic = allowedProps.Values.Select(p => Tuple.Create(p, elementContexts.GetOrThrow(p.PropertyRoute.PropertyString()))).ToDictionary(a => a.Item1.PropertyRoute);

                        var roots = TreeHelper.ToTreeC(tuplesDic.Values, kvp =>
                        {
                            var parent = kvp.Item1.PropertyRoute.Parent;
                            if (parent.PropertyRouteType == PropertyRouteType.Root || parent.PropertyRouteType == PropertyRouteType.Mixin)
                            {
                                return(null);
                            }

                            if (parent.PropertyRouteType == PropertyRouteType.MListItems)
                            {
                                parent = parent.Parent;
                            }

                            return(tuplesDic.GetOrThrow(parent));
                        });


            #line default
            #line hidden
                        WriteLiteral("\r\n\r\n                        <dl");

                        WriteLiteral(" class=\"dl-horizontal\"");

                        WriteLiteral(">\r\n");


            #line 114 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 114 "..\..\Help\Views\ViewEntity.cshtml"
                        foreach (var node in roots)
                        {
            #line default
            #line hidden

            #line 116 "..\..\Help\Views\ViewEntity.cshtml"
                            Write(WriteProperty(node, name));


            #line default
            #line hidden

            #line 116 "..\..\Help\Views\ViewEntity.cshtml"
                            ;
                        }


            #line default
            #line hidden
                        WriteLiteral("                        </dl>\r\n                    </div>\r\n");


            #line 120 "..\..\Help\Views\ViewEntity.cshtml"
                    }


            #line default
            #line hidden
                    WriteLiteral("\r\n");


            #line 122 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 122 "..\..\Help\Views\ViewEntity.cshtml"

                    var allowedOperations = eh.Operations.Where(a => a.Value.IsAllowed() == null).ToDictionary();


            #line default
            #line hidden
                    WriteLiteral("\r\n\r\n");


            #line 126 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 126 "..\..\Help\Views\ViewEntity.cshtml"
                    if (allowedOperations.Any())
                    {
                        var operations = ec.TypeElementContext(e => e.Operations).ToDictionary(a => a.Value.Operation);



            #line default
            #line hidden
                        WriteLiteral("                    <div");

                        WriteLiteral(" id=\"operations\"");

                        WriteLiteral(">\r\n                        <h2");

                        WriteLiteral(" class=\"greyTitle\"");

                        WriteLiteral(">");


            #line 131 "..\..\Help\Views\ViewEntity.cshtml"
                        Write(Html.PropertyNiceName(() => eh.Entity.Value.Operations));


            #line default
            #line hidden
                        WriteLiteral("</h2>\r\n                        <dl");

                        WriteLiteral(" class=\"dl-horizontal\"");

                        WriteLiteral(">\r\n");


            #line 133 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 133 "..\..\Help\Views\ViewEntity.cshtml"
                        foreach (var op in allowedOperations)
                        {
                            using (TypeElementContext <OperationHelpEntity> ctx = operations.GetOrThrow(op.Key))
                            {
            #line default
            #line hidden
                                WriteLiteral("                                <dt");

                                WriteAttribute("id", Tuple.Create(" id=\"", 5953), Tuple.Create("\"", 5987)

            #line 137 "..\..\Help\Views\ViewEntity.cshtml"
                                               , Tuple.Create(Tuple.Create("", 5958), Tuple.Create <System.Object, System.Int32>(HelpUrls.IdOperation(op.Key)

            #line default
            #line hidden
                                                                                                                                 , 5958), false)
                                               );

                                WriteLiteral(">");


            #line 137 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(op.Key.NiceToString());


            #line default
            #line hidden
                                WriteLiteral("<code");

                                WriteLiteral(" class=\'shortcut\'");

                                WriteLiteral(">[o:");


            #line 137 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(op.Key.Key);


            #line default
            #line hidden
                                WriteLiteral("]</code></dt>\r\n");

                                WriteLiteral("                                <dd>\r\n                                    <span");

                                WriteLiteral(" class=\"info\"");

                                WriteLiteral(">\r\n");

                                WriteLiteral("                                        ");


            #line 140 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.WikiParse(op.Value.Info, HelpWiki.DefaultWikiSettings));


            #line default
            #line hidden
                                WriteLiteral("\r\n                                    </span>\r\n");

                                WriteLiteral("                                    ");


            #line 142 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.HiddenRuntimeInfo(ctx));


            #line default
            #line hidden
                                WriteLiteral("\r\n");

                                WriteLiteral("                                    ");


            #line 143 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.HiddenRuntimeInfo(ctx, e => e.Culture));


            #line default
            #line hidden
                                WriteLiteral("\r\n");

                                WriteLiteral("                                    ");


            #line 144 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.HiddenRuntimeInfo(ctx, a => a.Operation));


            #line default
            #line hidden
                                WriteLiteral("\r\n");

                                WriteLiteral("                                    ");


            #line 145 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.TextArea(ctx.SubContextPrefix(a => a.Description), op.Value.UserDescription, new { @class = "editable" }));


            #line default
            #line hidden
                                WriteLiteral("\r\n                                    <span");

                                WriteLiteral(" class=\"wiki\"");

                                WriteLiteral(">\r\n");

                                WriteLiteral("                                        ");


            #line 147 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.WikiParse(op.Value.UserDescription, HelpWiki.DefaultWikiSettings));


            #line default
            #line hidden
                                WriteLiteral("\r\n                                    </span>\r\n                                </" +
                                             "dd>\r\n");


            #line 150 "..\..\Help\Views\ViewEntity.cshtml"
                            }
                        }


            #line default
            #line hidden
                        WriteLiteral("                        </dl>\r\n                    </div>\r\n");


            #line 154 "..\..\Help\Views\ViewEntity.cshtml"
                    }


            #line default
            #line hidden
                    WriteLiteral("\r\n");


            #line 156 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 156 "..\..\Help\Views\ViewEntity.cshtml"

                    var allowedQueries = eh.Queries.Where(a => a.Value.IsAllowed() == null).ToDictionary();


            #line default
            #line hidden
                    WriteLiteral("\r\n\r\n");


            #line 160 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 160 "..\..\Help\Views\ViewEntity.cshtml"
                    if (allowedQueries.Any())
                    {
                        var queries = ec.TypeElementContext(e => e.Queries).ToDictionary(a => a.Value.Query);



            #line default
            #line hidden
                        WriteLiteral("                    <div");

                        WriteLiteral(" id=\"queries\"");

                        WriteLiteral(">\r\n                        <h2");

                        WriteLiteral(" class=\"greyTitle\"");

                        WriteLiteral(">");


            #line 165 "..\..\Help\Views\ViewEntity.cshtml"
                        Write(typeof(QueryEntity).NicePluralName());


            #line default
            #line hidden
                        WriteLiteral("</h2>\r\n");


            #line 166 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 166 "..\..\Help\Views\ViewEntity.cshtml"
                        foreach (var mq in allowedQueries)
                        {
                            using (TypeElementContext <QueryHelpEntity> qctx = queries.GetOrThrow(QueryLogic.GetQueryEntity(mq.Key)))
                            {
            #line default
            #line hidden

            #line 171 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.HiddenRuntimeInfo(qctx));


            #line default
            #line hidden

            #line 171 "..\..\Help\Views\ViewEntity.cshtml"



            #line default
            #line hidden

            #line 172 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.HiddenRuntimeInfo(qctx, e => e.Culture));


            #line default
            #line hidden

            #line 172 "..\..\Help\Views\ViewEntity.cshtml"



            #line default
            #line hidden

            #line 173 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.HiddenRuntimeInfo(qctx, a => a.Query));


            #line default
            #line hidden

            #line 173 "..\..\Help\Views\ViewEntity.cshtml"



            #line default
            #line hidden
                                WriteLiteral("                            <h3");

                                WriteAttribute("id", Tuple.Create(" id=\"", 8163), Tuple.Create("\"", 8193)

            #line 174 "..\..\Help\Views\ViewEntity.cshtml"
                                               , Tuple.Create(Tuple.Create("", 8168), Tuple.Create <System.Object, System.Int32>(HelpUrls.IdQuery(mq.Key)

            #line default
            #line hidden
                                                                                                                                 , 8168), false)
                                               );

                                WriteLiteral(">");


            #line 174 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(QueryUtils.GetNiceName(mq.Key));


            #line default
            #line hidden
                                WriteLiteral("</h3>\r\n");

                                WriteLiteral("                            <div");

                                WriteLiteral(" class=\"queryName\"");

                                WriteLiteral(">\r\n                                <code");

                                WriteLiteral(" class=\'shortcut\'");

                                WriteLiteral(">[q:");


            #line 176 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(QueryUtils.GetKey(mq.Key));


            #line default
            #line hidden
                                WriteLiteral("]</code>\r\n                                <span");

                                WriteLiteral(" class=\"info\"");

                                WriteLiteral(">\r\n");

                                WriteLiteral("                                    ");


            #line 178 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.WikiParse(mq.Value.Info, HelpWiki.DefaultWikiSettings));


            #line default
            #line hidden
                                WriteLiteral("\r\n                                </span>\r\n");

                                WriteLiteral("                                ");


            #line 180 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.TextArea(qctx.SubContextPrefix(a => a.Description), mq.Value.UserDescription, new { @class = "editable" }));


            #line default
            #line hidden
                                WriteLiteral("\r\n                                <span");

                                WriteLiteral(" class=\"wiki\"");

                                WriteLiteral(">\r\n");

                                WriteLiteral("                                    ");


            #line 182 "..\..\Help\Views\ViewEntity.cshtml"
                                Write(Html.WikiParse(mq.Value.UserDescription, HelpWiki.DefaultWikiSettings));


            #line default
            #line hidden
                                WriteLiteral("\r\n                                </span>\r\n                            </div>\r\n");


            #line 185 "..\..\Help\Views\ViewEntity.cshtml"

                                var allowedColumn = mq.Value.Columns.Where(a => a.Value.IsAllowed() == null);
                                if (allowedColumn.Any())
                                {
                                    var columns = qctx.TypeElementContext(a => a.Columns).ToDictionary(a => a.Value.ColumnName);



            #line default
            #line hidden
                                    WriteLiteral("                            <dl");

                                    WriteLiteral(" class=\"dl-horizontal columns\"");

                                    WriteLiteral(">\r\n");


            #line 192 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 192 "..\..\Help\Views\ViewEntity.cshtml"
                                    foreach (var qc in allowedColumn)
                                    {
                                        using (var ctx = columns.GetOrThrow(qc.Value.Column.Name))
                                        {
            #line default
            #line hidden

            #line 196 "..\..\Help\Views\ViewEntity.cshtml"
                                            Write(Html.HiddenRuntimeInfo(ctx));


            #line default
            #line hidden

            #line 196 "..\..\Help\Views\ViewEntity.cshtml"



            #line default
            #line hidden
                                            WriteLiteral("                                    <dt>");


            #line 197 "..\..\Help\Views\ViewEntity.cshtml"
                                            Write(qc.Value.NiceName);


            #line default
            #line hidden
                                            WriteLiteral("</dt>\r\n");

                                            WriteLiteral("                                    <dd>\r\n                                       " +
                                                         " <span");

                                            WriteLiteral(" class=\"info\"");

                                            WriteLiteral(">\r\n");

                                            WriteLiteral("                                            ");


            #line 200 "..\..\Help\Views\ViewEntity.cshtml"
                                            Write(Html.WikiParse(qc.Value.Info, HelpWiki.DefaultWikiSettings));


            #line default
            #line hidden
                                            WriteLiteral("\r\n                                        </span>\r\n");

                                            WriteLiteral("                                        ");


            #line 202 "..\..\Help\Views\ViewEntity.cshtml"
                                            Write(Html.Hidden(ctx.SubContextPrefix(a => a.ColumnName), ctx.Value.ColumnName));


            #line default
            #line hidden
                                            WriteLiteral("\r\n");

                                            WriteLiteral("                                        ");


            #line 203 "..\..\Help\Views\ViewEntity.cshtml"
                                            Write(Html.TextArea(ctx.SubContextPrefix(a => a.Description), ctx.Value.Description, new { @class = "editable" }));


            #line default
            #line hidden
                                            WriteLiteral("\r\n                                        <span");

                                            WriteLiteral(" class=\"wiki\"");

                                            WriteLiteral(">\r\n");

                                            WriteLiteral("                                            ");


            #line 205 "..\..\Help\Views\ViewEntity.cshtml"
                                            Write(Html.WikiParse(qc.Value.UserDescription, HelpWiki.DefaultWikiSettings));


            #line default
            #line hidden
                                            WriteLiteral("\r\n                                        </span>\r\n                              " +
                                                         "      </dd>\r\n");


            #line 208 "..\..\Help\Views\ViewEntity.cshtml"
                                        }
                                    }


            #line default
            #line hidden
                                    WriteLiteral("                            </dl>\r\n");


            #line 211 "..\..\Help\Views\ViewEntity.cshtml"
                                }
                            }
                        }


            #line default
            #line hidden
                        WriteLiteral("                    </div>\r\n");


            #line 216 "..\..\Help\Views\ViewEntity.cshtml"
                    }


            #line default
            #line hidden
                    WriteLiteral("            </div>\r\n");


            #line 218 "..\..\Help\Views\ViewEntity.cshtml"
                }
            }


            #line default
            #line hidden
            WriteLiteral("    </div>\r\n\r\n    <div");

            WriteLiteral(" class=\"col-md-3\"");

            WriteLiteral(">\r\n");


            #line 223 "..\..\Help\Views\ViewEntity.cshtml"


            #line default
            #line hidden

            #line 223 "..\..\Help\Views\ViewEntity.cshtml"
            Html.RenderPartial(HelpClient.MiniMenu, new ViewDataDictionary {
                { "type", eh.Type }
            });

            #line default
            #line hidden
            WriteLiteral("\r\n    </div>\r\n</div>\r\n");
        }