Migrating Orchard.ContentType

- Needs some more work on displaying children shapres

--HG--
branch : theming
This commit is contained in:
Sebastien Ros
2010-09-13 13:34:51 -07:00
parent 1b2bab702d
commit a49555d6ab
58 changed files with 328 additions and 366 deletions

View File

@@ -249,7 +249,7 @@
<None Include="Common\Views\DisplayTemplates\Parts\Common.Metadata.SummaryAdmin.cshtml" />
<Content Include="ContentsLocation\Module.txt" />
<Content Include="ContentsLocation\Styles\admin.css" />
<Content Include="ContentsLocation\Views\DefinitionTemplates\LocationSettings.ascx" />
<None Include="ContentsLocation\Views\DefinitionTemplates\LocationSettings.cshtml" />
<None Include="Contents\Views\Admin\List.cshtml" />
<Content Include="Localization\Views\EditorTemplates\Parts\Localization.Translation.ascx" />
<Content Include="Messaging\Module.txt" />

View File

@@ -90,28 +90,28 @@
<ItemGroup>
<Content Include="Module.txt" />
<Content Include="Styles\admin.css" />
<Content Include="Views\Admin\AddFieldTo.ascx" />
<Content Include="Views\Admin\AddPartsTo.ascx" />
<Content Include="Views\Admin\CreatePart.ascx" />
<Content Include="Views\Admin\ListParts.ascx" />
<Content Include="Views\Admin\RemoveFieldFrom.ascx" />
<Content Include="Views\Admin\RemovePartFrom.ascx" />
<Content Include="Views\Admin\Create.ascx" />
<Content Include="Views\Admin\EditPart.ascx" />
<Content Include="Views\Admin\Edit.ascx" />
<Content Include="Views\Admin\List.ascx" />
<Content Include="Views\DisplayTemplates\EditTypeViewModel.ascx" />
<Content Include="Views\DisplayTemplates\EditPartViewModel.ascx" />
<Content Include="Views\DisplayTemplates\Field.ascx" />
<Content Include="Views\DisplayTemplates\Fields.ascx" />
<Content Include="Views\DisplayTemplates\Settings.ascx" />
<Content Include="Views\EditorTemplates\TypePartField.ascx" />
<Content Include="Views\EditorTemplates\TypePartFields.ascx" />
<Content Include="Views\EditorTemplates\Field.ascx" />
<Content Include="Views\EditorTemplates\Fields.ascx" />
<Content Include="Views\EditorTemplates\TypePart.ascx" />
<Content Include="Views\EditorTemplates\TypeParts.ascx" />
<Content Include="Views\EditorTemplates\Settings.ascx" />
<None Include="Views\Admin\AddFieldTo.cshtml" />
<None Include="Views\Admin\AddPartsTo.cshtml" />
<None Include="Views\Admin\CreatePart.cshtml" />
<None Include="Views\Admin\ListParts.cshtml" />
<None Include="Views\Admin\RemoveFieldFrom.cshtml" />
<None Include="Views\Admin\RemovePartFrom.cshtml" />
<None Include="Views\Admin\Create.cshtml" />
<None Include="Views\Admin\EditPart.cshtml" />
<None Include="Views\Admin\Edit.cshtml" />
<None Include="Views\Admin\List.cshtml" />
<None Include="Views\DisplayTemplates\EditTypeViewModel.cshtml" />
<None Include="Views\DisplayTemplates\EditPartViewModel.cshtml" />
<None Include="Views\DisplayTemplates\Field.cshtml" />
<None Include="Views\DisplayTemplates\Fields.cshtml" />
<None Include="Views\DisplayTemplates\Settings.cshtml" />
<None Include="Views\EditorTemplates\TypePartField.cshtml" />
<None Include="Views\EditorTemplates\TypePartFields.cshtml" />
<None Include="Views\EditorTemplates\Field.cshtml" />
<None Include="Views\EditorTemplates\Fields.cshtml" />
<None Include="Views\EditorTemplates\TypePart.cshtml" />
<None Include="Views\EditorTemplates\TypeParts.cshtml" />
<None Include="Views\EditorTemplates\Settings.cshtml" />
<Content Include="Web.config" />
<Content Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>

View File

@@ -1,9 +1,8 @@
using System.Collections.Generic;
using Orchard.ContentManagement.MetaData;
using Orchard.Mvc.ViewModels;
namespace Orchard.ContentTypes.ViewModels {
public class AddFieldViewModel : BaseViewModel {
public class AddFieldViewModel {
public AddFieldViewModel() {
Fields = new List<ContentFieldInfo>();
}

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using Orchard.Mvc.ViewModels;
namespace Orchard.ContentTypes.ViewModels {
public class AddPartsViewModel : BaseViewModel {
public class AddPartsViewModel {
public AddPartsViewModel() {
PartSelections = new List<PartSelectionViewModel>();
}

View File

@@ -1,7 +1,5 @@
using Orchard.Mvc.ViewModels;
namespace Orchard.ContentTypes.ViewModels {
public class CreatePartViewModel : BaseViewModel {
namespace Orchard.ContentTypes.ViewModels {
public class CreatePartViewModel {
public string Name { get; set; }
}
}

View File

@@ -1,7 +1,5 @@
using Orchard.Mvc.ViewModels;
namespace Orchard.ContentTypes.ViewModels {
public class CreateTypeViewModel : BaseViewModel {
namespace Orchard.ContentTypes.ViewModels {
public class CreateTypeViewModel {
public string DisplayName { get; set; }
}
}

View File

@@ -4,11 +4,10 @@ using System.Linq;
using Orchard.ContentManagement.MetaData.Models;
using Orchard.ContentManagement.ViewModels;
using Orchard.ContentTypes.Extensions;
using Orchard.Mvc.ViewModels;
using Orchard.Utility.Extensions;
namespace Orchard.ContentTypes.ViewModels {
public class EditTypeViewModel : BaseViewModel {
public class EditTypeViewModel {
public EditTypeViewModel() {
Settings = new SettingsDictionary();
Fields = new List<EditPartFieldViewModel>();
@@ -68,7 +67,7 @@ namespace Orchard.ContentTypes.ViewModels {
public ContentTypePartDefinition _Definition { get; private set; }
}
public class EditPartViewModel : BaseViewModel {
public class EditPartViewModel {
public EditPartViewModel() {
Fields = new List<EditPartFieldViewModel>();
Settings = new SettingsDictionary();

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using Orchard.Mvc.ViewModels;
namespace Orchard.ContentTypes.ViewModels {
public class ListContentPartsViewModel : BaseViewModel {
public class ListContentPartsViewModel {
public IEnumerable<EditPartViewModel> Parts { get; set; }
}
}

View File

@@ -1,8 +1,7 @@
using System.Collections.Generic;
using Orchard.Mvc.ViewModels;
namespace Orchard.ContentTypes.ViewModels {
public class ListContentTypesViewModel : BaseViewModel {
public class ListContentTypesViewModel {
public IEnumerable<EditTypeViewModel> Types { get; set; }
}
}

View File

@@ -1,17 +1,16 @@
using System.Collections.Generic;
using Orchard.ContentManagement;
using Orchard.Mvc.ViewModels;
//using System.Collections.Generic;
//using Orchard.ContentManagement;
namespace Orchard.ContentTypes.ViewModels {
public class ListContentsViewModel : BaseViewModel {
public string Id { get; set; }
public int? Page { get; set; }
public IList<Entry> Entries { get; set; }
//namespace Orchard.ContentTypes.ViewModels {
// public class ListContentsViewModel {
// public string Id { get; set; }
// public int? Page { get; set; }
// public IList<Entry> Entries { get; set; }
public class Entry {
public ContentItem ContentItem { get; set; }
public ContentItemMetadata ContentItemMetadata { get; set; }
public ContentItemViewModel ViewModel { get; set; }
}
}
}
// public class Entry {
// public ContentItem ContentItem { get; set; }
// public ContentItemMetadata ContentItemMetadata { get; set; }
// public ContentItemViewModel ViewModel { get; set; }
// }
// }
//}

View File

@@ -1,7 +1,5 @@
using Orchard.Mvc.ViewModels;
namespace Orchard.ContentTypes.ViewModels {
public class RemoveFieldViewModel : BaseViewModel {
namespace Orchard.ContentTypes.ViewModels {
public class RemoveFieldViewModel {
public string Name { get; set; }
public EditPartViewModel Part { get; set; }
}

View File

@@ -1,7 +1,5 @@
using Orchard.Mvc.ViewModels;
namespace Orchard.ContentTypes.ViewModels {
public class RemovePartViewModel : BaseViewModel {
namespace Orchard.ContentTypes.ViewModels {
public class RemovePartViewModel {
public string Name { get; set; }
public EditTypeViewModel Type { get; set; }
}

View File

@@ -1,18 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.AddFieldViewModel>" %>
<%
Html.RegisterStyle("admin.css"); %>
<h1><%:Html.TitleForPage(T("Add New Field To \"{0}\"", Model.Part.DisplayName).ToString())%></h1><%
using (Html.BeginFormAntiForgeryPost()) { %>
<%:Html.ValidationSummary() %>
<fieldset>
<label for="DisplayName"><%:T("Display Name") %></label>
<%:Html.TextBoxFor(m => m.DisplayName, new {@class = "textMedium", autofocus = "autofocus"}) %>
</fieldset>
<fieldset>
<label for="FieldTypeName"><%:T("Field Type") %></label>
<%:Html.DropDownListFor(m => m.FieldTypeName, new SelectList(Model.Fields, "FieldTypeName", "FieldTypeName"))%>
</fieldset>
<fieldset>
<button class="primaryAction" type="submit"><%:T("Save") %></button>
</fieldset><%
} %>

View File

@@ -0,0 +1,15 @@
@model Orchard.ContentTypes.ViewModels.AddFieldViewModel
@Html.RegisterStyle("admin.css");
<h1>@Html.TitleForPage(T("Add New Field To \"{0}\"", Model.Part.DisplayName).ToString())</h1>@using (Html.BeginFormAntiForgeryPost()) {
@Html.ValidationSummary()
<fieldset>
<label for="DisplayName">@T("Display Name")</label>
@Html.TextBoxFor(m => m.DisplayName, new {@class = "textMedium", autofocus = "autofocus"})
</fieldset>
<fieldset>
<label for="FieldTypeName">@T("Field Type")</label>
@Html.DropDownListFor(m => m.FieldTypeName, new SelectList(Model.Fields, "FieldTypeName", "FieldTypeName"))
</fieldset>
<fieldset>
<button class="primaryAction" type="submit">@T("Save")</button>
</fieldset>}

View File

@@ -1,11 +1,9 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.AddPartsViewModel>" %>
<%
Html.RegisterStyle("admin.css"); %>
<h1><%:Html.TitleForPage(T("Add Parts To \"{0}\"", Model.Type.DisplayName).ToString())%></h1><%
using (Html.BeginFormAntiForgeryPost()) { %>
<%:Html.ValidationSummary() %>
@model Orchard.ContentTypes.ViewModels.AddPartsViewModel
@Html.RegisterStyle("admin.css");
<h1>@Html.TitleForPage(T("Add Parts To \"{0}\"", Model.Type.DisplayName).ToString())</h1>@using (Html.BeginFormAntiForgeryPost()) {
@Html.ValidationSummary()
<fieldset>
<%:Html.UnorderedList(
@Html.UnorderedList(
Model.PartSelections,
(partSelection, i) => {
var fieldNameStart = "PartSelections[" + i + "].";
@@ -17,9 +15,8 @@ using (Html.BeginFormAntiForgeryPost()) { %>
partSelection.PartDisplayName,
Html.Hidden(fieldNameStart + "PartName", partSelection.PartName)));
},
"available-parts")%>
"available-parts")
</fieldset>
<fieldset>
<button class="primaryAction" type="submit"><%:T("Save") %></button>
</fieldset><%
} %>
<button class="primaryAction" type="submit">@T("Save")</button>
</fieldset>}

View File

@@ -1,12 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.CreateTypeViewModel>" %>
<h1><%:Html.TitleForPage(T("New Content Type").ToString())%></h1><%
using (Html.BeginFormAntiForgeryPost()) { %>
<%:Html.ValidationSummary() %>
<fieldset>
<label for="DisplayName"><%:T("Display Name") %></label>
<%:Html.TextBoxFor(m => m.DisplayName, new {@class = "textMedium", autofocus = "autofocus"}) %>
</fieldset>
<fieldset>
<button class="primaryAction" type="submit"><%:T("Create") %></button>
</fieldset><%
} %>

View File

@@ -0,0 +1,10 @@
@model Orchard.ContentTypes.ViewModels.CreateTypeViewModel
<h1>@Html.TitleForPage(T("New Content Type").ToString())</h1>@using (Html.BeginFormAntiForgeryPost()) {
@Html.ValidationSummary()
<fieldset>
<label for="DisplayName">@T("Display Name")</label>
@Html.TextBoxFor(m => m.DisplayName, new {@class = "textMedium", autofocus = "autofocus"})
</fieldset>
<fieldset>
<button class="primaryAction" type="submit">@T("Create")</button>
</fieldset>}

View File

@@ -1,12 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.CreatePartViewModel>" %>
<h1><%:Html.TitleForPage(T("New Content Part").ToString())%></h1><%
using (Html.BeginFormAntiForgeryPost()) { %>
<%:Html.ValidationSummary() %>
<fieldset>
<label for="DisplayName"><%:T("Name") %></label>
<%:Html.TextBoxFor(m => m.Name, new {@class = "textMedium", autofocus = "autofocus"}) %>
</fieldset>
<fieldset>
<button class="primaryAction" type="submit"><%:T("Create") %></button>
</fieldset><%
} %>

View File

@@ -0,0 +1,10 @@
@model Orchard.ContentTypes.ViewModels.CreatePartViewModel
<h1>@Html.TitleForPage(T("New Content Part").ToString())</h1>@using (Html.BeginFormAntiForgeryPost()) {
@Html.ValidationSummary()
<fieldset>
<label for="DisplayName">@T("Name")</label>
@Html.TextBoxFor(m => m.Name, new {@class = "textMedium", autofocus = "autofocus"})
</fieldset>
<fieldset>
<button class="primaryAction" type="submit">@T("Create")</button>
</fieldset>}

View File

@@ -1,38 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.EditTypeViewModel>" %>
<% Html.RegisterStyle("admin.css");
%><h1><%:Html.TitleForPage(T("Edit Content Type").ToString())%></h1>
<p class="breadcrumb"><%:Html.ActionLink(T("Content Types").Text, "index") %><%:T(" &#62; ") %><%:T("Edit Content Type") %></p><%
using (Html.BeginFormAntiForgeryPost()) { %>
<%--// todo: come up with real itemtype definitions and locations for said definitions--%>
<div itemscope="itemscope" itemid="<%:Model.Name %>" itemtype="http://orchardproject.net/data/ContentType"><%:Html.ValidationSummary() %>
<fieldset>
<label for="DisplayName"><%:T("Display Name") %></label>
<%:Html.TextBoxFor(m => m.DisplayName, new { @class = "textMedium" })%>
<%--// todo: if we continue to go down the midrodata route, some helpers would be nice--%>
<meta itemprop="DisplayName" content="<%:Model.DisplayName %>" /><%--
// has unintended consequences (renamging the type) - changing the name creates a new type of that name--%>
<meta itemprop="Name" content="<%:Model.Name %>" />
<%:Html.HiddenFor(m => m.Name) %>
</fieldset><%
Html.RenderTemplates(Model.Templates); %>
<div class="manage-type">
<h2><%:T("Fields") %></h2>
<div class="manage add-to-type"><%: Html.ActionLink(T("Add").Text, "AddFieldTo", new { area = "Orchard.ContentTypes", id = Model.Name }, new { @class = "button" }) %></div><%:
Html.EditorFor(m => m.Fields, "Fields", "") %>
<h2><%:T("Parts") %></h2>
<div class="manage add-to-type"><%: Html.ActionLink(T("Add").Text, "AddPartsTo", new { area = "Orchard.ContentTypes", id = Model.Name }, new { @class = "button" })%></div><%:
Html.EditorFor(m => m.Parts, "TypeParts", "") %>
</div>
<fieldset class="action">
<button class="primaryAction" type="submit"><%:T("Save") %></button>
</fieldset>
</div><%
}
using (this.Capture("end-of-page-scripts")) { %>
<script type="text/javascript">
(function ($) {
$(".manage-field h3,.manage-part h3").expandoControl(function (controller) { return controller.nextAll(".details"); }, { collapse: true, remember: false });
$(".manage-field h4").expandoControl(function (controller) { return controller.nextAll(".settings"); }, { collapse: true, remember: false });
})(jQuery);
</script><%
} %>

View File

@@ -0,0 +1,45 @@
@model Orchard.ContentTypes.ViewModels.EditTypeViewModel
@Html.RegisterStyle("admin.css")
<h1>@Html.TitleForPage(T("Edit Content Type").ToString())</h1>
<p class="breadcrumb">@Html.ActionLink(T("Content Types").Text, "index")@T(" &#62; ")@T("Edit Content Type")</p>
@using (Html.BeginFormAntiForgeryPost()) {
// todo: come up with real itemtype definitions and locations for said definitions
<div itemscope="itemscope" itemid="@Model.Name" itemtype="http://orchardproject.net/data/ContentType">
@Html.ValidationSummary()
<fieldset>
<label for="DisplayName">@T("Display Name")</label>
@Html.TextBoxFor(m => m.DisplayName, new { @class = "textMedium" })
@// todo: if we continue to go down the midrodata route, some helpers would be nice
<meta itemprop="DisplayName" content="@Model.DisplayName" />
@// has unintended consequences (renamging the type) - changing the name creates a new type of that name
<meta itemprop="Name" content="@Model.Name" />
@Html.HiddenFor(m => m.Name)
</fieldset>
@Display(Model)
<div class="manage-type">
<h2>@T("Fields")</h2>
<div class="manage add-to-type">
@Html.ActionLink(T("Add").Text, "AddFieldTo", new { area = "Orchard.ContentTypes", id = Model.Name }, new { @class = "button" })
</div>
@Html.EditorFor(m => m.Fields, "Fields", "")
<h2>@T("Parts")</h2>
<div class="manage add-to-type">
@Html.ActionLink(T("Add").Text, "AddPartsTo", new { area = "Orchard.ContentTypes", id = Model.Name }, new { @class = "button" })
</div>
@Html.EditorFor(m => m.Parts, "TypeParts", "")
</div>
<fieldset class="action">
<button class="primaryAction" type="submit">@T("Save")</button>
</fieldset>
</div>
}
@//todo: (sebros) move at the end of the page
@/*
<script type="text/javascript">
(function ($) {
$(".manage-field h3,.manage-part h3").expandoControl(function (controller) { return controller.nextAll(".details"); }, { collapse: true, remember: false });
$(".manage-field h4").expandoControl(function (controller) { return controller.nextAll(".settings"); }, { collapse: true, remember: false });
})(jQuery);
</script>
*/

View File

@@ -1,24 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.EditPartViewModel>" %>
<% Html.RegisterStyle("admin.css"); %>
<h1><%:Html.TitleForPage(T("Edit Part").ToString()) %></h1>
<p class="breadcrumb"><%:Html.ActionLink(T("Content Types").Text, "index") %><%:T(" &#62; ") %><%:Html.ActionLink(T("Content Parts").Text, "listparts") %><%:T(" &#62; ") %><%:T("Edit Part") %></p><%
using (Html.BeginFormAntiForgeryPost()) { %>
<%:Html.ValidationSummary() %>
<fieldset>
<label for="Name"><%:T("Name") %></label>
<%--// has unintended consequences (renamging the part) - changing the name creates a new part of that name--%>
<%:Html.TextBoxFor(m => m.Name, new {@class = "textMedium", disabled = "disabled"}) %>
<%:Html.HiddenFor(m => m.Name) %>
</fieldset>
<div class="manage-part">
<div class="settings">
<% Html.RenderTemplates(Model.Templates); %>
</div>
<h2><%:T("Fields") %></h2>
<div class="manage add-to-type"><%: Html.ActionLink(T("Add").Text, "AddFieldTo", new { area = "Orchard.ContentTypes", id = Model.Name }, new { @class = "button" }) %></div>
<%:Html.EditorFor(m => m.Fields, "Fields", "") %>
</div>
<fieldset class="action">
<button class="primaryAction" type="submit"><%:T("Save") %></button>
</fieldset><%
} %>

View File

@@ -0,0 +1,24 @@
@model Orchard.ContentTypes.ViewModels.EditPartViewModel
<h1>@Html.TitleForPage(T("Edit Part").ToString())</h1>
<p class="breadcrumb">@Html.ActionLink(T("Content Types").Text, "index")@T(" &#62; ")@Html.ActionLink(T("Content Parts").Text, "listparts")@T(" &#62; ")@T("Edit Part")</p>
@using (Html.BeginFormAntiForgeryPost()) {
@Html.ValidationSummary()
<fieldset>
<label for="Name">@T("Name")</label>
@// has unintended consequences (renamging the part) - changing the name creates a new part of that name
@Html.TextBoxFor(m => m.Name, new {@class = "textMedium", disabled = "disabled"})
@Html.HiddenFor(m => m.Name)
</fieldset>
<div class="manage-part">
<div class="settings">
@DisplayChildren(Model.Templates)
</div>
<h2>@T("Fields")</h2>
<div class="manage add-to-type">@Html.ActionLink(T("Add").Text, "AddFieldTo", new { area = "Orchard.ContentTypes", id = Model.Name }, new { @class = "button" })</div>
@DisplayChildren(Model.Fields)
</div>
<fieldset class="action">
<button class="primaryAction" type="submit">@T("Save")</button>
</fieldset>
}

View File

@@ -1,12 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.ListContentTypesViewModel>" %>
<% Html.RegisterStyle("admin.css"); %>
<h1><%:Html.TitleForPage(T("Manage Content Types").ToString())%></h1>
<div class="manage">
<%:Html.ActionLink(T("Create new type").ToString(), "Create", new{Controller="Admin",Area="Orchard.ContentTypes"}, new { @class = "button primaryAction" }) %>
<%:Html.ActionLink(T("Content Parts").ToString(), "ListParts", new{Controller="Admin",Area="Orchard.ContentTypes"}, new { @class = "button" }) %>
</div>
<%:Html.UnorderedList(
Model.Types,
(t,i) => Html.DisplayFor(m => t),
"contentItems"
) %>

View File

@@ -0,0 +1,12 @@
@model Orchard.ContentTypes.ViewModels.ListContentTypesViewModel
@Html.RegisterStyle("admin.css");
<h1>@Html.TitleForPage(T("Manage Content Types").ToString())</h1>
<div class="manage">
@Html.ActionLink(T("Create new type").ToString(), "Create", new{Controller="Admin",Area="Orchard.ContentTypes"}, new { @class = "button primaryAction" })
@Html.ActionLink(T("Content Parts").ToString(), "ListParts", new{Controller="Admin",Area="Orchard.ContentTypes"}, new { @class = "button" })
</div>
@Html.UnorderedList(
Model.Types,
(t,i) => Html.DisplayFor(m => t),
"contentItems"
)

View File

@@ -1,11 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.ListContentPartsViewModel>" %>
<h1><%:Html.TitleForPage(T("Content Parts").ToString())%></h1>
<p class="breadcrumb"><%:Html.ActionLink(T("Content Types").Text, "index") %><%:T(" &#62; ") %><%:T("Content Parts") %></p>
<div class="manage">
<%:Html.ActionLink(T("Create new part").ToString(), "CreatePart", new{Controller="Admin",Area="Orchard.ContentTypes"}, new { @class = "button primaryAction" }) %>
</div>
<%:Html.UnorderedList(
Model.Parts,
(t,i) => Html.DisplayFor(m => t),
"contentItems"
) %>

View File

@@ -0,0 +1,11 @@
@model Orchard.ContentTypes.ViewModels.ListContentPartsViewModel
<h1>@Html.TitleForPage(T("Content Parts").ToString())</h1>
<p class="breadcrumb">@Html.ActionLink(T("Content Types").Text, "index")@T(" &#62; ")@T("Content Parts")</p>
<div class="manage">
@Html.ActionLink(T("Create new part").ToString(), "CreatePart", new{Controller="Admin",Area="Orchard.ContentTypes"}, new { @class = "button primaryAction" })
</div>
@Html.UnorderedList(
Model.Parts,
(t,i) => Html.DisplayFor(m => t),
"contentItems"
)

View File

@@ -1,11 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.RemoveFieldViewModel>" %>
<%
Html.RegisterStyle("admin.css"); %>
<h1><%:Html.TitleForPage(T("Remove the \"{0}\" part from \"{1}\"", Model.Name, Model.Part.DisplayName).ToString())%></h1><%
using (Html.BeginFormAntiForgeryPost()) { %>
<p><%:T("Looks like you couldn't use the fancy way to remove the field. Try hitting the button below to force the issue.") %></p>
<fieldset>
<%=Html.HiddenFor(m => m.Name) %>
<button class="primaryAction" type="submit"><%:T("Remove") %></button>
</fieldset><%
} %>

View File

@@ -0,0 +1,8 @@
@model Orchard.ContentTypes.ViewModels.RemoveFieldViewModel
@Html.RegisterStyle("admin.css");
<h1>@Html.TitleForPage(T("Remove the \"{0}\" part from \"{1}\"", Model.Name, Model.Part.DisplayName).ToString())</h1>@using (Html.BeginFormAntiForgeryPost()) {
<p>@T("Looks like you couldn't use the fancy way to remove the field. Try hitting the button below to force the issue.")</p>
<fieldset>
@Html.HiddenFor(m => m.Name)
<button class="primaryAction" type="submit">@T("Remove")</button>
</fieldset>}

View File

@@ -1,11 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.RemovePartViewModel>" %>
<%
Html.RegisterStyle("admin.css"); %>
<h1><%:Html.TitleForPage(T("Remove the \"{0}\" part from \"{1}\"", Model.Name, Model.Type.DisplayName).ToString())%></h1><%
using (Html.BeginFormAntiForgeryPost()) { %>
<p><%:T("Looks like you couldn't use the fancy way to remove the part. Try hitting the button below to force the issue.") %></p>
<fieldset>
<%=Html.HiddenFor(m => m.Name) %>
<button class="primaryAction" type="submit"><%:T("Remove") %></button>
</fieldset><%
} %>

View File

@@ -0,0 +1,8 @@
@model Orchard.ContentTypes.ViewModels.RemovePartViewModel
@Html.RegisterStyle("admin.css");
<h1>@Html.TitleForPage(T("Remove the \"{0}\" part from \"{1}\"", Model.Name, Model.Type.DisplayName).ToString())</h1>@using (Html.BeginFormAntiForgeryPost()) {
<p>@T("Looks like you couldn't use the fancy way to remove the part. Try hitting the button below to force the issue.")</p>
<fieldset>
@Html.HiddenFor(m => m.Name)
<button class="primaryAction" type="submit">@T("Remove")</button>
</fieldset>}

View File

@@ -1,9 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.EditPartViewModel>" %>
<div class="summary">
<div class="properties">
<h3><%:Model.DisplayName %></h3>
</div>
<div class="related">
<%:Html.ActionLink(T("Edit").ToString(), "EditPart", new {area = "Orchard.ContentTypes", id = Model.Name}) %>
</div>
</div>

View File

@@ -0,0 +1,9 @@
@model Orchard.ContentTypes.ViewModels.EditPartViewModel
<div class="summary">
<div class="properties">
<h3>@Model.DisplayName</h3>
</div>
<div class="related">
@Html.ActionLink(T("Edit").ToString(), "EditPart", new {area = "Orchard.ContentTypes", id = Model.Name})
</div>
</div>

View File

@@ -1,17 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.EditTypeViewModel>" %>
<%@ Import Namespace="Orchard.Core.Contents.Settings" %>
<div class="summary">
<div class="properties">
<h3><%:Model.DisplayName%></h3><%
var creatable = Model.Settings.GetModel<ContentTypeSettings>().Creatable;
if (creatable) { %>
<p class="pageStatus"><%:Html.ActionLink(T("Create New {0}", Model.DisplayName).Text, "Create", new {area = "Contents", id = Model.Name}) %></p><%
} %>
</div>
<div class="related"><%
if (creatable) { %>
<%:Html.ActionLink(T("List Items").ToString(), "List", new {area = "Contents", id = Model.Name})%><%:T(" | ")%><%
} %>
<%:Html.ActionLink(T("Edit").ToString(), "Edit", new {area = "Orchard.ContentTypes", id = Model.Name})%>
</div>
</div>

View File

@@ -0,0 +1,14 @@
@model Orchard.ContentTypes.ViewModels.EditTypeViewModel
@using Orchard.Core.Contents.Settings
<div class="summary">
<div class="properties">
<h3>@Model.DisplayName</h3>@{ var creatable = Model.Settings.GetModel<ContentTypeSettings>().Creatable; }
@if (creatable) {
<p class="pageStatus">@Html.ActionLink(T("Create New {0}", Model.DisplayName).Text, "Create", new {area = "Contents", id = Model.Name})</p>
}
</div>
<div class="related">@if (creatable) {
@Html.ActionLink(T("List Items").ToString(), "List", new {area = "Contents", id = Model.Name})@T(" | ")}
@Html.ActionLink(T("Edit").ToString(), "Edit", new {area = "Orchard.ContentTypes", id = Model.Name})
</div>
</div>

View File

@@ -1,5 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.EditPartFieldViewModel>" %>
<dt><%:Model.Name %> <span>(<%:Model.FieldDefinition.Name %>)</span></dt>
<dd>
<%:Html.DisplayFor(m => m.Settings, "Settings", "") %>
</dd>

View File

@@ -0,0 +1,5 @@
@model Orchard.ContentTypes.ViewModels.EditPartFieldViewModel
<dt>@Model.Name <span>(@Model.FieldDefinition.Name)</span></dt>
<dd>
@Html.DisplayFor(m => m.Settings, "Settings", "")
</dd>

View File

@@ -1,10 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<IEnumerable<Orchard.ContentTypes.ViewModels.EditPartFieldViewModel>>" %>
<%
if (Model.Any()) { %>
<dl><%
foreach (var field in Model) {
var f = field; %>
<%:Html.DisplayFor(m => f, "Field") %><%
} %>
</dl><%
} %>

View File

@@ -0,0 +1,6 @@
@model IEnumerable<Orchard.ContentTypes.ViewModels.EditPartFieldViewModel
@if (Model.Any()) {
<dl>@foreach (var field in Model) {
var f = field;
@Html.DisplayFor(m => f, "Field")}
</dl>}

View File

@@ -1,12 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<SettingsDictionary>" %>
<%@ import Namespace="Orchard.ContentManagement.MetaData.Models" %>
<%
if (Model.Any()) { %>
<%--<h4><%:T("Global Settings") %></h4>--%>
<dl class="settings"><%
foreach (var setting in Model) { %>
<dt><%:setting.Key %></dt>
<dd><%:setting.Value %></dd><%
} %>
</dl><%
} %>

View File

@@ -0,0 +1,8 @@
@model SettingsDictionary
@using Orchard.ContentManagement.MetaData.Models
@if (Model.Any()) {
@/*<h4>@T("Global Settings")</h4>*/
<dl class="settings">@foreach (var setting in Model) {
<dt>@setting.Key</dt>
<dd>@setting.Value</dd>}
</dl>}

View File

@@ -1,13 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.EditPartFieldViewModel>" %>
<fieldset class="manage-field">
<h3><%:Model.Name %> <span>(<%:Model.FieldDefinition.Name %>)</span></h3>
<div class="manage">
<%:Html.ActionLink(T("Remove").Text, "RemoveFieldFrom", new { area = "Orchard.ContentTypes", id = Model.Part.Name, Model.Name }, new { itemprop = "RemoveUrl UnsafeUrl" })%><%--// <- some experimentation--%>
</div>
<div class="details"><%
Html.RenderTemplates(Model.Templates);
%><%:Html.HiddenFor(m => m.Name)
%><%:Html.HiddenFor(m => m.FieldDefinition.Name)
%><%:Html.HiddenFor(m => m.Index) %>
</div>
</fieldset>

View File

@@ -0,0 +1,11 @@
@model Orchard.ContentTypes.ViewModels.EditPartFieldViewModel
<fieldset class="manage-field">
<h3>@Model.Name <span>(@Model.FieldDefinition.Name)</span></h3>
<div class="manage">
@Html.ActionLink(T("Remove").Text, "RemoveFieldFrom", new { area = "Orchard.ContentTypes", id = Model.Part.Name, Model.Name }, new { itemprop = "RemoveUrl UnsafeUrl" }) @// <- some experimentation
</div>
<div class="details">
@Html.RenderTemplates(Model.Templates)
@Html.HiddenFor(m => m.Name)@Html.HiddenFor(m => m.FieldDefinition.Name)@Html.HiddenFor(m => m.Index)
</div>
</fieldset>

View File

@@ -1,10 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<IEnumerable<Orchard.ContentTypes.ViewModels.EditPartFieldViewModel>>" %>
<%
if (Model.Any()) { %>
<fieldset><%
foreach (var field in Model) {
var f = field; %>
<%:Html.EditorFor(m => f, "Field", field.Prefix) %><%
} %>
</fieldset><%
} %>

View File

@@ -0,0 +1,6 @@
@model IEnumerable<Orchard.ContentTypes.ViewModels.EditPartFieldViewModel>
@if (Model.Any()) {
<fieldset>@foreach (var field in Model) {
var f = field;
@Html.EditorFor(m => f, "Field", field.Prefix)}
</fieldset>}

View File

@@ -1,16 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<SettingsDictionary>" %>
<%@ import Namespace="Orchard.ContentManagement.MetaData.Models" %>
<%
if (Model.Any()) { %>
<fieldset><%
var si = 0;
foreach (var setting in Model) {
var s = setting;
var htmlFieldName = string.Format("Settings[{0}]", si++); %>
<%--// doesn't gen a similarly sanitized id as the other inputs...--%>
<label for="<%:ViewData.TemplateInfo.GetFullHtmlFieldId(htmlFieldName + ".Value") %>"><%:s.Key %></label>
<%:Html.Hidden(htmlFieldName + ".Key", s.Key) %>
<%:Html.TextBox(htmlFieldName + ".Value", s.Value)%><%
} %>
</fieldset><%
} %>asdf

View File

@@ -0,0 +1,17 @@
@model SettingsDictionary
@using Orchard.ContentManagement.MetaData.Models
@if (Model.Any()) {
<fieldset>
@{
var si = 0;
foreach (var setting in Model) {
var s = setting;
var htmlFieldName = string.Format("Settings[{0}]", si++);
// doesn't gen a similarly sanitized id as the other inputs...*/
<label for="@ViewData.TemplateInfo.GetFullHtmlFieldId(htmlFieldName + ".Value")">@s.Key</label>
Html.Hidden(htmlFieldName + ".Key", s.Key)
Html.TextBox(htmlFieldName + ".Value", s.Value)
}
}
</fieldset>
}

View File

@@ -1,19 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.EditTypePartViewModel>" %>
<fieldset class="manage-part" itemscope="itemscope" itemid="<%:Model.PartDefinition.Name %>" itemtype="http://orchardproject.net/data/ContentTypePart">
<h3 itemprop="Name"><%:Model.PartDefinition.DisplayName %></h3>
<div class="manage">
<%:Html.ActionLink(T("Remove").Text, "RemovePartFrom", new { area = "Orchard.ContentTypes", id = Model.Type.Name, Model.PartDefinition.Name }, new { itemprop = "RemoveUrl UnsafeUrl" })%><%--// <- some experimentation--%>
</div>
<div class="details"><%:Html.EditorFor(m => m.PartDefinition.Fields, "TypePartFields", "PartDefinition")
%><%
if (Model.Templates.Any()) { %>
<div class="settings">
<h4><%:T("{0} Settings:", Model.PartDefinition.DisplayName) %></h4><%
Html.RenderTemplates(Model.Templates); %>
</div><%
} %>
<%-- don't show global part settings for now - <%:Html.DisplayFor(m => m.PartDefinition.Settings, "Settings", "PartDefinition")
%>--%><%:Html.HiddenFor(m => m.PartDefinition.Name)
%><%:Html.HiddenFor(m => m.Index) %>
</div>
</fieldset>

View File

@@ -0,0 +1,18 @@
@model Orchard.ContentTypes.ViewModels.EditTypePartViewModel
<fieldset class="manage-part" itemscope="itemscope" itemid="@Model.PartDefinition.Name" itemtype="http://orchardproject.net/data/ContentTypePart">
<h3 itemprop="Name">@Model.PartDefinition.DisplayName</h3>
<div class="manage">
@Html.ActionLink(T("Remove").Text, "RemovePartFrom", new { area = "Orchard.ContentTypes", id = Model.Type.Name, Model.PartDefinition.Name }, new { itemprop = "RemoveUrl UnsafeUrl" }) @// <- some experimentation
</div>
<div class="details">@Html.EditorFor(m => m.PartDefinition.Fields, "TypePartFields", "PartDefinition")
@if (Model.Templates.Any()) {
<div class="settings">
<h4>@T("{0} Settings:", Model.PartDefinition.DisplayName)</h4>
@DisplayChildren(Model.Templates)
</div>
}
@//don't show global part settings for now - @Html.DisplayFor(m => m.PartDefinition.Settings, "Settings", "PartDefinition")
@Html.HiddenFor(m => m.PartDefinition.Name)
@Html.HiddenFor(m => m.Index)
</div>
</fieldset>

View File

@@ -1,12 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.ContentTypes.ViewModels.EditPartFieldViewModel>" %>
<fieldset class="manage-field">
<h4><%:Model.Name %> <span>(<%:Model.FieldDefinition.Name %>)</span></h4><%
if (Model.Templates.Any()) { %>
<div class="settings"><%
Html.RenderTemplates(Model.Templates); %>
</div><%
} %>
<%:Html.HiddenFor(m => m.Name)
%><%:Html.HiddenFor(m => m.FieldDefinition.Name)
%><%:Html.HiddenFor(m => m.Index) %>
</fieldset>

View File

@@ -0,0 +1,7 @@
@model Orchard.ContentTypes.ViewModels.EditPartFieldViewModel
<fieldset class="manage-field">
<h4>@Model.Name <span>(@Model.FieldDefinition.Name)</span></h4>@if (Model.Templates.Any()) {
<div class="settings">@Html.RenderTemplates(Model.Templates);
</div>}
@Html.HiddenFor(m => m.Name)@Html.HiddenFor(m => m.FieldDefinition.Name)@Html.HiddenFor(m => m.Index)
</fieldset>

View File

@@ -1,8 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<IEnumerable<Orchard.ContentTypes.ViewModels.EditPartFieldViewModel>>" %>
<%
if (Model.Any()) {
foreach (var field in Model) {
var f = field; %>
<%:Html.EditorFor(m => f, "TypePartField", f.Prefix) %><%
}
} %>

View File

@@ -0,0 +1,6 @@
@model IEnumerable<Orchard.ContentTypes.ViewModels.EditPartFieldViewModel>
@if (Model.Any()) {
foreach (var field in Model) {
var f = field;
@Html.EditorFor(m => f, "TypePartField", f.Prefix) }
}

View File

@@ -1,10 +0,0 @@
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<IEnumerable<Orchard.ContentTypes.ViewModels.EditTypePartViewModel>>" %>
<%
if (Model.Any()) { %>
<fieldset><%
foreach (var part in Model) {
var p = part; %>
<%:Html.EditorFor(m => p, "TypePart", p.Prefix) %><%
} %>
</fieldset><%
} %>

View File

@@ -0,0 +1,6 @@
@model IEnumerable<Orchard.ContentTypes.ViewModels.EditTypePartViewModel>
@if (Model.Any()) {
<fieldset>@foreach (var part in Model) {
var p = part;
@Html.EditorFor(m => p, "TypePart", p.Prefix)}
</fieldset>}

View File

@@ -62,6 +62,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Modules", "Orchard.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Packaging", "Orchard.Web\Modules\Orchard.Packaging\Orchard.Packaging.csproj", "{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.ContentTypes", "Orchard.Web\Modules\Orchard.ContentTypes\Orchard.ContentTypes.csproj", "{0E7646E8-FE8F-43C1-8799-D97860925EC4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
CodeCoverage|Any CPU = CodeCoverage|Any CPU
@@ -301,6 +303,16 @@ Global
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.FxCop|Any CPU.Build.0 = Release|Any CPU
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Release|Any CPU.Build.0 = Release|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Coverage|Any CPU.Build.0 = Release|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.FxCop|Any CPU.Build.0 = Release|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -313,6 +325,7 @@ Global
{CDE24A24-01D3-403C-84B9-37722E18DFB7} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
{17F86780-9A1F-4AA1-86F1-875EEC2730C7} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
{0E7646E8-FE8F-43C1-8799-D97860925EC4} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
{ABC826D4-2FA1-4F2F-87DE-E6095F653810} = {74E681ED-FECC-4034-B9BD-01B0BB1BDECA}
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA} = {74E681ED-FECC-4034-B9BD-01B0BB1BDECA}
{6CB3EB30-F725-45C0-9742-42599BA8E8D2} = {74E681ED-FECC-4034-B9BD-01B0BB1BDECA}