mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Migrating Orchard.Modules and Orchard.Packaging
--HG-- branch : theming
This commit is contained in:
+7
-3
@@ -81,8 +81,8 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Module.txt" />
|
<Content Include="Module.txt" />
|
||||||
<Content Include="Views\Admin\Add.ascx" />
|
<None Include="Views\Admin\Add.cshtml" />
|
||||||
<Content Include="Views\Admin\Index.ascx" />
|
<None Include="Views\Admin\Index.cshtml" />
|
||||||
<Content Include="Web.config" />
|
<Content Include="Web.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -90,12 +90,16 @@
|
|||||||
<Project>{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}</Project>
|
<Project>{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}</Project>
|
||||||
<Name>Orchard.Framework</Name>
|
<Name>Orchard.Framework</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\Orchard.Packaging\Orchard.Packaging.csproj">
|
||||||
|
<Project>{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}</Project>
|
||||||
|
<Name>Orchard.Packaging</Name>
|
||||||
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Content\Admin\images\disabled.gif" />
|
<Content Include="Content\Admin\images\disabled.gif" />
|
||||||
<Content Include="Content\Admin\images\enabled.gif" />
|
<Content Include="Content\Admin\images\enabled.gif" />
|
||||||
<Content Include="styles\admin.css" />
|
<Content Include="styles\admin.css" />
|
||||||
<Content Include="Views\Admin\Features.ascx" />
|
<None Include="Views\Admin\Features.cshtml" />
|
||||||
<Content Include="Views\Web.config" />
|
<Content Include="Views\Web.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
<ItemGroup />
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Orchard.Mvc.ViewModels;
|
|
||||||
|
|
||||||
namespace Orchard.Modules.ViewModels {
|
namespace Orchard.Modules.ViewModels {
|
||||||
public class FeaturesViewModel : BaseViewModel {
|
public class FeaturesViewModel {
|
||||||
public IEnumerable<IModuleFeature> Features { get; set; }
|
public IEnumerable<IModuleFeature> Features { get; set; }
|
||||||
public IEnumerable<string> FeaturesThatNeedUpdate { get; set; }
|
public IEnumerable<string> FeaturesThatNeedUpdate { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using Orchard.Mvc.ViewModels;
|
namespace Orchard.Modules.ViewModels {
|
||||||
|
public class ModuleAddViewModel {
|
||||||
namespace Orchard.Modules.ViewModels {
|
|
||||||
public class ModuleAddViewModel : BaseViewModel {
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Orchard.Mvc.ViewModels;
|
|
||||||
|
|
||||||
namespace Orchard.Modules.ViewModels {
|
namespace Orchard.Modules.ViewModels {
|
||||||
public class ModulesIndexViewModel : BaseViewModel {
|
public class ModulesIndexViewModel {
|
||||||
public IEnumerable<IModule> Modules { get; set; }
|
public IEnumerable<IModule> Modules { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<ModuleAddViewModel>" %>
|
|
||||||
<%@ Import Namespace="Orchard.Modules.ViewModels" %>
|
|
||||||
<h1><%: Html.TitleForPage(T("Install a Module").ToString()) %></h1><%
|
|
||||||
using (Html.BeginFormAntiForgeryPost(Url.Action("add", new { area = "Orchard.Modules" }), FormMethod.Post, new { enctype = "multipart/form-data" })) { %>
|
|
||||||
<%: Html.ValidationSummary()
|
|
||||||
%><fieldset>
|
|
||||||
<label for="ModulePackage"><%:T("Module Package") %></label>
|
|
||||||
<input type="file" id="ModulePackage" size="64" name="ModulePackage" />
|
|
||||||
</fieldset>
|
|
||||||
<button type="submit" class="button primaryAction"><%:T("Install") %></button><%
|
|
||||||
} %>
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
@model ModuleAddViewModel
|
||||||
|
@using Orchard.Modules.ViewModels
|
||||||
|
|
||||||
|
@{
|
||||||
|
<h1>@Html.TitleForPage(T("Install a Module").ToString())</h1>
|
||||||
|
using (Html.BeginFormAntiForgeryPost(Url.Action("add", new { area = "Orchard.Modules" }), FormMethod.Post, new { enctype = "multipart/form-data" })) {
|
||||||
|
Html.ValidationSummary();
|
||||||
|
<fieldset>
|
||||||
|
<label for="ModulePackage">@T("Module Package")</label>
|
||||||
|
<input type="file" id="ModulePackage" size="64" name="ModulePackage" />
|
||||||
|
</fieldset>
|
||||||
|
<button type="submit" class="button primaryAction">@T("Install")</button>
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<FeaturesViewModel>" %>
|
|
||||||
<%@ Import Namespace="Orchard.Localization" %>
|
|
||||||
<%@ Import Namespace="Orchard.Modules.Extensions" %>
|
|
||||||
<%@ Import Namespace="Orchard.Modules.ViewModels"%>
|
|
||||||
<%@ Import Namespace="Orchard.Utility.Extensions" %>
|
|
||||||
<%@ Import Namespace="Orchard.Modules.Models" %><%
|
|
||||||
Html.RegisterStyle("admin.css"); %>
|
|
||||||
<h1><%: Html.TitleForPage(T("Manage Features").ToString()) %></h1>
|
|
||||||
<% if (Model.Features.Count() > 0) { %>
|
|
||||||
<ul class="<% Html.RenderPartial("UI/Switchable", "features summary-view"); %>"><%
|
|
||||||
var featureGroups = Model.Features.OrderBy(f => f.Descriptor.Category, new DoghouseComparer("Core")).GroupBy(f => f.Descriptor.Category);
|
|
||||||
foreach (var featureGroup in featureGroups) {
|
|
||||||
var categoryName = LocalizedString.TextOrDefault(featureGroup.First().Descriptor.Category, T("Uncategorized"));
|
|
||||||
var categoryClassName = string.Format("category {0}", Html.Encode(categoryName.ToString().HtmlClassify()));
|
|
||||||
if (featureGroup == featureGroups.First())
|
|
||||||
categoryClassName += " first";
|
|
||||||
if (featureGroup == featureGroups.Last())
|
|
||||||
categoryClassName += " last";
|
|
||||||
|
|
||||||
//temporarily "disable" actions on core features
|
|
||||||
var showActions = categoryName.ToString() != "Core"; %>
|
|
||||||
<li class="<%=categoryClassName %>">
|
|
||||||
<h2><%: categoryName %></h2>
|
|
||||||
<ul><%
|
|
||||||
var features = featureGroup.OrderBy(f => f.Descriptor.Name);
|
|
||||||
foreach (var feature in features) {
|
|
||||||
//hmmm...I feel like I've done this before...
|
|
||||||
var featureId = feature.Descriptor.Name.AsFeatureId(n => T(n));
|
|
||||||
var featureState = feature.IsEnabled ? "enabled" : "disabled";
|
|
||||||
var featureClassName = string.Format("feature {0}", featureState + (Model.FeaturesThatNeedUpdate.Contains(feature.Descriptor.Name) ? " update" : String.Empty));
|
|
||||||
if (feature == features.First())
|
|
||||||
featureClassName += " first";
|
|
||||||
if (feature == features.Last())
|
|
||||||
featureClassName += " last";%>
|
|
||||||
<li class="<%:featureClassName%>" id="<%:featureId%>" title="<%:T("{0} is {1}", Html.AttributeEncode(feature.Descriptor.Name), featureState)%>">
|
|
||||||
<div class="summary">
|
|
||||||
<div class="properties">
|
|
||||||
<h3><%=string.Join(".​", feature.Descriptor.Name.Split('.').Select(s => Html.Encode(s)))%></h3>
|
|
||||||
<p class="description"><%:feature.Descriptor.Description%></p><%
|
|
||||||
if (feature.Descriptor.Dependencies != null && feature.Descriptor.Dependencies.Any()) {%>
|
|
||||||
<div class="dependencies">
|
|
||||||
<h4><%:T("Depends on:")%></h4>
|
|
||||||
<%:Html.UnorderedList(
|
|
||||||
feature.Descriptor.Dependencies.OrderBy(s => s),
|
|
||||||
(s, i) => Html.Link(s, string.Format("#{0}", s.AsFeatureId(n => T(n)))),
|
|
||||||
"",
|
|
||||||
"dependency",
|
|
||||||
"")%>
|
|
||||||
</div><%
|
|
||||||
}%>
|
|
||||||
</div>
|
|
||||||
<div class="actions">
|
|
||||||
<%
|
|
||||||
if (showActions) {
|
|
||||||
if (feature.IsEnabled) {
|
|
||||||
using (Html.BeginFormAntiForgeryPost(string.Format("{0}", Url.Action("Disable", new { area = "Orchard.Modules" })), FormMethod.Post, new {@class = "inline link"})) { %>
|
|
||||||
<%:Html.Hidden("id", feature.Descriptor.Name, new {id = ""})%>
|
|
||||||
<%:Html.Hidden("force", true)%>
|
|
||||||
<button type="submit"><%:T("Disable")%></button><%
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
using (Html.BeginFormAntiForgeryPost(string.Format("{0}", Url.Action("Enable", new { area = "Orchard.Modules" })), FormMethod.Post, new {@class = "inline link"})) { %>
|
|
||||||
<%: Html.Hidden("id", feature.Descriptor.Name, new { id = "" })%>
|
|
||||||
<%: Html.Hidden("force", true)%>
|
|
||||||
<button type="submit"><%: T("Enable") %></button><%
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(Model.FeaturesThatNeedUpdate.Contains(feature.Descriptor.Name)){
|
|
||||||
using (Html.BeginFormAntiForgeryPost(string.Format("{0}", Url.Action("Update", new { area = "Orchard.Modules" })), FormMethod.Post, new {@class = "inline link"})) { %>
|
|
||||||
<%: Html.Hidden("id", feature.Descriptor.Name, new { id = "" })%>
|
|
||||||
<button type="submit" class="update"><%: T("Update") %></button><%
|
|
||||||
}
|
|
||||||
}%>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li><%
|
|
||||||
} %>
|
|
||||||
</ul>
|
|
||||||
</li><%
|
|
||||||
} %>
|
|
||||||
</ul><%
|
|
||||||
} %>
|
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
@model FeaturesViewModel
|
||||||
|
@using Orchard.Localization
|
||||||
|
@using Orchard.Modules.Extensions
|
||||||
|
@using Orchard.Modules.ViewModels
|
||||||
|
@using Orchard.Utility.Extensions
|
||||||
|
@using Orchard.Modules.Models
|
||||||
|
|
||||||
|
<h1>@Html.TitleForPage(T("Manage Features").ToString()).</h1>
|
||||||
|
@if (Model.Features.Count() > 0) {
|
||||||
|
<ul class="features summary-view">@{
|
||||||
|
var featureGroups = Model.Features.OrderBy(f => f.Descriptor.Category, new DoghouseComparer("Core")).GroupBy(f => f.Descriptor.Category);
|
||||||
|
foreach (var featureGroup in featureGroups) {
|
||||||
|
var categoryName = LocalizedString.TextOrDefault(featureGroup.First().Descriptor.Category, T("Uncategorized"));
|
||||||
|
var categoryClassName = string.Format("category {0}", Html.Encode(categoryName.ToString().HtmlClassify()));
|
||||||
|
if (featureGroup == featureGroups.First()) {
|
||||||
|
categoryClassName += " first";
|
||||||
|
}
|
||||||
|
if (featureGroup == featureGroups.Last()) {
|
||||||
|
categoryClassName += " last";
|
||||||
|
}
|
||||||
|
|
||||||
|
//temporarily "disable" actions on core features
|
||||||
|
var showActions = categoryName.ToString() != "Core";
|
||||||
|
<li class="@categoryClassName">
|
||||||
|
<h2>@categoryName</h2>
|
||||||
|
<ul>@{
|
||||||
|
var features = featureGroup.OrderBy(f => f.Descriptor.Name);
|
||||||
|
foreach (var feature in features) {
|
||||||
|
//hmmm...I feel like I've done this before...
|
||||||
|
var featureId = feature.Descriptor.Name.AsFeatureId(n => T(n));
|
||||||
|
var featureState = feature.IsEnabled ? "enabled" : "disabled";
|
||||||
|
var featureClassName = string.Format("feature {0}", featureState + (Model.FeaturesThatNeedUpdate.Contains(feature.Descriptor.Name) ? " update" : String.Empty));
|
||||||
|
if (feature == features.First()) {
|
||||||
|
featureClassName += " first";
|
||||||
|
}
|
||||||
|
if (feature == features.Last()) {
|
||||||
|
featureClassName += " last";
|
||||||
|
}
|
||||||
|
<li class="@featureClassName" id="@featureId" title="@T("{0} is {1}", Html.AttributeEncode(feature.Descriptor.Name), featureState)">
|
||||||
|
<div class="summary">
|
||||||
|
<div class="properties">
|
||||||
|
<h3>@feature.Descriptor.Name</h3>
|
||||||
|
<p class="description">@feature.Descriptor.Description</p>@if (feature.Descriptor.Dependencies != null && feature.Descriptor.Dependencies.Any()) {
|
||||||
|
<div class="dependencies">
|
||||||
|
<h4>@T("Depends on:")</h4>
|
||||||
|
@Html.UnorderedList(
|
||||||
|
feature.Descriptor.Dependencies.OrderBy(s => s),
|
||||||
|
(s, i) => Html.Link(s, string.Format("#{0}", s.AsFeatureId(n => T(n)))),
|
||||||
|
"",
|
||||||
|
"dependency",
|
||||||
|
"")
|
||||||
|
</div>}
|
||||||
|
</div>
|
||||||
|
<div class="actions">
|
||||||
|
@if (showActions) {
|
||||||
|
if (feature.IsEnabled) {
|
||||||
|
using (Html.BeginFormAntiForgeryPost(string.Format("{0}", Url.Action("Disable", new { area = "Orchard.Modules" })), FormMethod.Post, new {@class = "inline link"})) {
|
||||||
|
@Html.Hidden("id", feature.Descriptor.Name, new {id = ""})
|
||||||
|
@Html.Hidden("force", true)
|
||||||
|
<button type="submit">@T("Disable")</button>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
using (Html.BeginFormAntiForgeryPost(string.Format("{0}", Url.Action("Enable", new { area = "Orchard.Modules" })), FormMethod.Post, new {@class = "inline link"})) {
|
||||||
|
@Html.Hidden("id", feature.Descriptor.Name, new { id = "" })
|
||||||
|
@Html.Hidden("force", true)
|
||||||
|
<button type="submit">@T("Enable")</button>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@if(Model.FeaturesThatNeedUpdate.Contains(feature.Descriptor.Name)){
|
||||||
|
using (Html.BeginFormAntiForgeryPost(string.Format("{0}", Url.Action("Update", new { area = "Orchard.Modules" })), FormMethod.Post, new {@class = "inline link"})) {
|
||||||
|
@Html.Hidden("id", feature.Descriptor.Name, new { id = "" })
|
||||||
|
<button type="submit" class="update">@T("Update")</button>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>}
|
||||||
|
}</ul>
|
||||||
|
</li>}
|
||||||
|
}</ul>}
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<ModulesIndexViewModel>" %>
|
|
||||||
<%@ Import Namespace="Orchard.Modules.Extensions" %>
|
|
||||||
<%@ Import Namespace="Orchard.Mvc.Html"%>
|
|
||||||
<%@ Import Namespace="Orchard.Modules.ViewModels"%>
|
|
||||||
<h1><%: Html.TitleForPage(T("Installed Modules").ToString()) %></h1>
|
|
||||||
<div class="manage"><%: Html.ActionLink(T("Install a module").ToString(), "Add", null, new { @class = "button primaryAction" })%></div>
|
|
||||||
<% if (Model.Modules.Count() > 0) { %>
|
|
||||||
<ul class="contentItems"><%
|
|
||||||
foreach (var module in Model.Modules.OrderBy(m => m.DisplayName)) { %>
|
|
||||||
<li>
|
|
||||||
<div class="summary">
|
|
||||||
<div class="properties">
|
|
||||||
<h2><%: module.DisplayName %><span> - <%: T("Version: {0}", !string.IsNullOrEmpty(module.Version) ? module.Version : T("1.0").ToString()) %></span></h2><%
|
|
||||||
if (!string.IsNullOrEmpty(module.Description)) { %>
|
|
||||||
<p><%: module.Description %></p><%
|
|
||||||
} %>
|
|
||||||
<ul class="pageStatus" style="color:#666; margin:.6em 0 0 0;">
|
|
||||||
<li><%:T("Features: {0}", MvcHtmlString.Create(string.Join(", ", module.Features.Select(f => Html.Link(f.Name, string.Format("{0}#{1}", Url.Action("features", new { area = "Orchard.Modules" }), f.Name.AsFeatureId(n => T(n)))).ToString()).OrderBy(s => s).ToArray()))) %></li>
|
|
||||||
<li> | <%: T("Author: {0}", !string.IsNullOrEmpty(module.Author) ? module.Author : (new []{"Bradley", "Bertrand", "Renaud", "Suha", "Sebastien", "Jon", "Nathan", "Erik"})[(module.DisplayName.Length + (new Random()).Next()) % 7]) %></li><%-- very efficient, I know --%>
|
|
||||||
<li> | <%: T("Website: {0}", !string.IsNullOrEmpty(module.HomePage) ? module.HomePage : "http://orchardproject.net")%></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li><%
|
|
||||||
} %>
|
|
||||||
</ul><%
|
|
||||||
} %>
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
@model ModulesIndexViewModel
|
||||||
|
@using Orchard.Modules.Extensions
|
||||||
|
@using Orchard.Mvc.Html
|
||||||
|
@using Orchard.Modules.ViewModels
|
||||||
|
<h1>@Html.TitleForPage(T("Installed Modules").ToString())</h1>
|
||||||
|
<div class="manage">@Html.ActionLink(T("Install a module").ToString(), "Add", null, new { @class = "button primaryAction" })</div>
|
||||||
|
@if (Model.Modules.Count() > 0) {
|
||||||
|
<ul class="contentItems">
|
||||||
|
@foreach (var module in Model.Modules.OrderBy(m => m.DisplayName)) {
|
||||||
|
<li>
|
||||||
|
<div class="summary">
|
||||||
|
<div class="properties">
|
||||||
|
<h2>@module.DisplayName<span> - @T("Version: {0}", !string.IsNullOrEmpty(module.Version) ? module.Version : T("1.0").ToString())</span></h2>
|
||||||
|
@if (!string.IsNullOrEmpty(module.Description)) {
|
||||||
|
<p>@module.Description</p>}
|
||||||
|
<ul class="pageStatus" style="color:#666; margin:.6em 0 0 0;">
|
||||||
|
<li>@T("Features: {0}", MvcHtmlString.Create(string.Join(", ", module.Features.Select(f => Html.Link(f.Name, string.Format("{0}#{1}", Url.Action("features", new { area = "Orchard.Modules" }), f.Name.AsFeatureId(n => T(n)))).ToString()).OrderBy(s => s).ToArray())))</li>
|
||||||
|
<li> | @T("Author: {0}", !string.IsNullOrEmpty(module.Author) ? module.Author : (new []{"Bradley", "Bertrand", "Renaud", "Suha", "Sebastien", "Jon", "Nathan", "Erik"})[(module.DisplayName.Length + (new Random()).Next()) % 7])</li>
|
||||||
|
<li> | @T("Website: {0}", !string.IsNullOrEmpty(module.HomePage) ? module.HomePage : "http://orchardproject.net")</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>}
|
||||||
|
</ul>}
|
||||||
+4
-4
@@ -99,10 +99,10 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Module.txt" />
|
<Content Include="Module.txt" />
|
||||||
<Content Include="Styles\admin.css" />
|
<Content Include="Styles\admin.css" />
|
||||||
<Content Include="Views\Gallery\AddSource.ascx" />
|
<None Include="Views\Gallery\AddSource.cshtml" />
|
||||||
<Content Include="Views\Gallery\Harvest.ascx" />
|
<None Include="Views\Gallery\Harvest.cshtml" />
|
||||||
<Content Include="Views\Gallery\Modules.ascx" />
|
<None Include="Views\Gallery\Modules.cshtml" />
|
||||||
<Content Include="Views\Gallery\Sources.ascx" />
|
<None Include="Views\Gallery\Sources.cshtml" />
|
||||||
<Content Include="Views\Gallery\_Subnav.ascx" />
|
<Content Include="Views\Gallery\_Subnav.ascx" />
|
||||||
<Content Include="Views\Web.config" />
|
<Content Include="Views\Web.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.Packaging.ViewModels.PackagingAddSourceViewModel>" %>
|
|
||||||
<h1>
|
|
||||||
<%: Html.TitleForPage(T("Add a Feed").ToString())%></h1>
|
|
||||||
|
|
||||||
<%using ( Html.BeginFormAntiForgeryPost(Url.Action("AddSource")) ) { %>
|
|
||||||
<%: Html.ValidationSummary() %>
|
|
||||||
<fieldset>
|
|
||||||
<label for="Url"><%: T("Feed Url") %></label>
|
|
||||||
<input id="Url" class="textMedium" name="Url" type="text" value="<%: Model.Url %>"/>
|
|
||||||
</fieldset>
|
|
||||||
<fieldset>
|
|
||||||
<input type="submit" class="button primaryAction" value="<%: T("Add Feed") %>" />
|
|
||||||
</fieldset>
|
|
||||||
<% } %>
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
@model Orchard.Packaging.ViewModels.PackagingAddSourceViewModel
|
||||||
|
<h1>
|
||||||
|
@Html.TitleForPage(T("Add a Feed").ToString())</h1>
|
||||||
|
|
||||||
|
@using ( Html.BeginFormAntiForgeryPost(Url.Action("AddSource")) ) {
|
||||||
|
@Html.ValidationSummary()
|
||||||
|
<fieldset>
|
||||||
|
<label for="Url">@T("Feed Url")</label>
|
||||||
|
<input id="Url" class="textMedium" name="Url" type="text" value="@Model.Url"/>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset>
|
||||||
|
<input type="submit" class="button primaryAction" value="@T("Add Feed")" />
|
||||||
|
</fieldset>
|
||||||
|
}
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.Packaging.ViewModels.PackagingHarvestViewModel>" %>
|
|
||||||
<h1>
|
|
||||||
<%: Html.TitleForPage(T("Packaging").ToString(), T("Harvest Packages").ToString())%></h1>
|
|
||||||
<%: Html.Partial("_Subnav", Model) %>
|
|
||||||
|
|
||||||
<%using (Html.BeginFormAntiForgeryPost()) {%>
|
|
||||||
<%: Html.ValidationSummary(T("Package creation was unsuccessful. Please correct the errors and try again.").ToString()) %>
|
|
||||||
<%foreach (var group in Model.Extensions.Where(x => !x.Location.StartsWith("~/Core")).GroupBy(x => x.ExtensionType)) {%>
|
|
||||||
<fieldset>
|
|
||||||
<legend><%: T("Harvest") %>
|
|
||||||
<%:group.Key %></legend>
|
|
||||||
<ul>
|
|
||||||
<%foreach (var item in group) {%>
|
|
||||||
<li>
|
|
||||||
<label>
|
|
||||||
<%:Html.RadioButtonFor(m=>m.ExtensionName, item.Name, new Dictionary<string, object>{{"id",item.Name}}) %>
|
|
||||||
<%:item.DisplayName%></label></li><%
|
|
||||||
}%></ul>
|
|
||||||
<%} %>
|
|
||||||
<%: Html.ValidationMessageFor(m => m.ExtensionName)%>
|
|
||||||
</fieldset>
|
|
||||||
<fieldset>
|
|
||||||
<%: Html.LabelFor(m=>m.FeedUrl)%>
|
|
||||||
<%: Html.DropDownListFor(m => m.FeedUrl, new[]{new SelectListItem{Text=T("Download").ToString(),Value="Download"}}.Concat( Model.Sources.Select(x => new SelectListItem { Text = T("Push to {0}", x.FeedUrl).ToString(), Value = x.FeedUrl })))%>
|
|
||||||
<%: Html.ValidationMessageFor(m=>m.FeedUrl) %>
|
|
||||||
</fieldset>
|
|
||||||
<input type="submit" value="Harvest" />
|
|
||||||
<%} %>
|
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
@model Orchard.Packaging.ViewModels.PackagingHarvestViewModel
|
||||||
|
<h1>
|
||||||
|
@Html.TitleForPage(T("Packaging").ToString(), T("Harvest Packages").ToString())</h1>
|
||||||
|
@Html.Partial("_Subnav", Model)
|
||||||
|
|
||||||
|
@using (Html.BeginFormAntiForgeryPost()) {
|
||||||
|
@Html.ValidationSummary(T("Package creation was unsuccessful. Please correct the errors and try again.").ToString())
|
||||||
|
@foreach (var group in Model.Extensions.Where(x => !x.Location.StartsWith("~/Core")).GroupBy(x => x.ExtensionType)) {
|
||||||
|
<fieldset>
|
||||||
|
<legend>@T("Harvest") @group.Key</legend>
|
||||||
|
<ul>
|
||||||
|
@foreach (var item in group) {
|
||||||
|
<li>
|
||||||
|
<label>
|
||||||
|
@Html.RadioButtonFor(m=>m.ExtensionName, item.Name, new Dictionary<string, object>{{"id",item.Name}})
|
||||||
|
@item.DisplayName
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
}
|
||||||
|
@Html.ValidationMessageFor(m => m.ExtensionName)
|
||||||
|
</fieldset>
|
||||||
|
<fieldset>
|
||||||
|
@Html.LabelFor(m=>m.FeedUrl)
|
||||||
|
@Html.DropDownListFor(m => m.FeedUrl, new[]{new SelectListItem{Text=T("Download").ToString(),Value="Download"}}.Concat( Model.Sources.Select(x => new SelectListItem { Text = T("Push to {0}", x.FeedUrl).ToString(), Value = x.FeedUrl })))
|
||||||
|
@Html.ValidationMessageFor(m=>m.FeedUrl)
|
||||||
|
</fieldset>
|
||||||
|
<input type="submit" value="Harvest" />
|
||||||
|
}
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.Packaging.ViewModels.PackagingModulesViewModel>" %>
|
|
||||||
<% Html.RegisterStyle("admin.css"); %>
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
<%: Html.TitleForPage(T("Browse Gallery").ToString())%></h1>
|
|
||||||
|
|
||||||
<div class="manage">
|
|
||||||
<%:Html.ActionLink(T("Refresh").ToString(), "Update", new object{}, new { @class = "button primaryAction" }) %>
|
|
||||||
</div>
|
|
||||||
<% using ( Html.BeginFormAntiForgeryPost(Url.Action("Modules", "Gallery")) ) {%>
|
|
||||||
<fieldset class="bulk-actions">
|
|
||||||
<label for="filterResults" class="bulk-filter"><%:T("Feed:")%></label>
|
|
||||||
<select id="sourceId" name="sourceId">
|
|
||||||
<%:Html.SelectOption("", Model.SelectedSource == null, T("Any (show all feeds)").ToString())%>
|
|
||||||
<%
|
|
||||||
foreach (var source in Model.Sources) {%>
|
|
||||||
<%:Html.SelectOption(source.Id, Model.SelectedSource != null && Model.SelectedSource.Id == source.Id, source.FeedTitle)%><%
|
|
||||||
}%>
|
|
||||||
</select>
|
|
||||||
<button type="submit"><%:T("Apply")%></button>
|
|
||||||
</fieldset>
|
|
||||||
<%
|
|
||||||
} %>
|
|
||||||
|
|
||||||
|
|
||||||
<% if (Model.Modules.Count() > 0) { %>
|
|
||||||
<ul class="contentItems">
|
|
||||||
<%foreach (var item in Model.Modules) {%>
|
|
||||||
<li>
|
|
||||||
<div class="moduleName">
|
|
||||||
<h2><%: (item.SyndicationItem.Title == null ? T("(No title)").Text : item.SyndicationItem.Title.Text)%><span> - <%: T("Version: {0}", "1.0")%></span></h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="related">
|
|
||||||
<%:Html.ActionLink(T("Install").ToString(), "Install", new RouteValueDictionary {{"SyndicationId",item.SyndicationItem.Id}})%><%:T(" | ") %>
|
|
||||||
<a href="<%:item.PackageStreamUri%>"><%: T("Download") %></a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="properties">
|
|
||||||
<p><%: (item.SyndicationItem.Summary == null ? T("(No description").Text : item.SyndicationItem.Summary.Text) %></p>
|
|
||||||
<ul class="pageStatus">
|
|
||||||
<li><%: T("Last Updated: {0}", item.SyndicationItem.LastUpdatedTime.ToLocalTime()) %></li>
|
|
||||||
<li> | <%: T("Author: {0}", item.SyndicationItem.Authors.Any() ? String.Join(", ", item.SyndicationItem.Authors.Select(a => a.Name)) : T("Unknown").Text)%></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</li><%
|
|
||||||
}%>
|
|
||||||
</ul><%
|
|
||||||
}%>
|
|
||||||
|
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
@model Orchard.Packaging.ViewModels.PackagingModulesViewModel
|
||||||
|
@Html.RegisterStyle("admin.css");
|
||||||
|
|
||||||
|
<h1>@Html.TitleForPage(T("Browse Gallery").ToString())</h1>
|
||||||
|
|
||||||
|
<div class="manage">@Html.ActionLink(T("Refresh").ToString(), "Update", new object{}, new { @class = "button primaryAction" })</div>
|
||||||
|
@using ( Html.BeginFormAntiForgeryPost(Url.Action("Modules", "Gallery")) ) {
|
||||||
|
<fieldset class="bulk-actions">
|
||||||
|
<label for="filterResults" class="bulk-filter">@T("Feed:")</label>
|
||||||
|
<select id="sourceId" name="sourceId">
|
||||||
|
@Html.SelectOption("", Model.SelectedSource == null, T("Any (show all feeds)").ToString())
|
||||||
|
@foreach (var source in Model.Sources) {
|
||||||
|
Html.SelectOption(source.Id, Model.SelectedSource != null && Model.SelectedSource.Id == source.Id, source.FeedTitle);
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
<button type="submit">@T("Apply")</button>
|
||||||
|
</fieldset>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@if (Model.Modules.Count() > 0) {
|
||||||
|
<ul class="contentItems">
|
||||||
|
@foreach (var item in Model.Modules) {
|
||||||
|
<li>
|
||||||
|
<div class="moduleName">
|
||||||
|
<h2>@(item.SyndicationItem.Title == null ? T("(No title)").Text : item.SyndicationItem.Title.Text)<span> - @T("Version: {0}", "1.0")</span></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="related">
|
||||||
|
@Html.ActionLink(T("Install").ToString(), "Install", new RouteValueDictionary {{"SyndicationId",item.SyndicationItem.Id}})@T(" | ")
|
||||||
|
<a href="@item.PackageStreamUri">@T("Download")</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="properties">
|
||||||
|
<p>@(item.SyndicationItem.Summary == null ? T("(No description").Text : item.SyndicationItem.Summary.Text)</p>
|
||||||
|
<ul class="pageStatus">
|
||||||
|
<li>@T("Last Updated: {0}", item.SyndicationItem.LastUpdatedTime.ToLocalTime())</li>
|
||||||
|
<li> | @T("Author: {0}", item.SyndicationItem.Authors.Any() ? String.Join(", ", item.SyndicationItem.Authors.Select(a => a.Name)) : T("Unknown").Text)</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</li>}
|
||||||
|
</ul>
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<Orchard.Packaging.ViewModels.PackagingSourcesViewModel>" %>
|
|
||||||
<h1>
|
|
||||||
<%: Html.TitleForPage(T("Gallery Feeds").ToString())%></h1>
|
|
||||||
|
|
||||||
<div class="manage">
|
|
||||||
<%:Html.ActionLink(T("Add Feed").Text, "AddSource", new { }, new { @class = "button primaryAction" }) %>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<fieldset>
|
|
||||||
<table class="items" summary="<%: T("This is a table of the gallery feeds in your application") %>">
|
|
||||||
<colgroup>
|
|
||||||
<col id="Col1" />
|
|
||||||
<col id="Col2" />
|
|
||||||
<col id="Col3" />
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col"><%: T("Title")%></th>
|
|
||||||
<th scope="col"><%: T("Url")%></th>
|
|
||||||
<th scope="col"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<%
|
|
||||||
foreach ( var item in Model.Sources ) {
|
|
||||||
%>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<%: item.FeedTitle %>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<%:Html.Link(item.FeedUrl, item.FeedUrl)%>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<%: Html.ActionLink(T("Remove").ToString(), "Remove", new { id = item.Id })%>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<% } %>
|
|
||||||
</table>
|
|
||||||
</fieldset>
|
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
@model Orchard.Packaging.ViewModels.PackagingSourcesViewModel
|
||||||
|
<h1>
|
||||||
|
@Html.TitleForPage(T("Gallery Feeds").ToString())</h1>
|
||||||
|
|
||||||
|
<div class="manage">
|
||||||
|
@Html.ActionLink(T("Add Feed").Text, "AddSource", new { }, new { @class = "button primaryAction" })
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<fieldset>
|
||||||
|
<table class="items" summary="@T("This is a table of the gallery feeds in your application")">
|
||||||
|
<colgroup>
|
||||||
|
<col id="Col1" />
|
||||||
|
<col id="Col2" />
|
||||||
|
<col id="Col3" />
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">@T("Title")</th>
|
||||||
|
<th scope="col">@T("Url")</th>
|
||||||
|
<th scope="col"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
@foreach ( var item in Model.Sources ) {
|
||||||
|
<tr>
|
||||||
|
<td>@item.FeedTitle</td>
|
||||||
|
<td>@Html.Link(item.FeedUrl, item.FeedUrl)</td>
|
||||||
|
<td>@Html.ActionLink(T("Remove").ToString(), "Remove", new { id = item.Id })</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
@@ -83,8 +83,8 @@ namespace Orchard.Setup.Services {
|
|||||||
"Orchard.Users",
|
"Orchard.Users",
|
||||||
"Orchard.Roles",
|
"Orchard.Roles",
|
||||||
//"TinyMce",
|
//"TinyMce",
|
||||||
//"PackagingServices",
|
"PackagingServices",
|
||||||
//"Orchard.Modules",
|
"Orchard.Modules",
|
||||||
"Orchard.Themes",
|
"Orchard.Themes",
|
||||||
//"Orchard.Blogs",
|
//"Orchard.Blogs",
|
||||||
//"Orchard.Comments",
|
//"Orchard.Comments",
|
||||||
|
|||||||
@@ -58,6 +58,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Notes", "_Notes", "{8A49DB
|
|||||||
Shapes.txt = Shapes.txt
|
Shapes.txt = Shapes.txt
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Modules", "Orchard.Web\Modules\Orchard.Modules\Orchard.Modules.csproj", "{17F86780-9A1F-4AA1-86F1-875EEC2730C7}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Packaging", "Orchard.Web\Modules\Orchard.Packaging\Orchard.Packaging.csproj", "{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
CodeCoverage|Any CPU = CodeCoverage|Any CPU
|
CodeCoverage|Any CPU = CodeCoverage|Any CPU
|
||||||
@@ -277,6 +281,26 @@ Global
|
|||||||
{10369238-A590-48BF-8D3E-E83EB6F0C931}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
{10369238-A590-48BF-8D3E-E83EB6F0C931}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||||
{10369238-A590-48BF-8D3E-E83EB6F0C931}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{10369238-A590-48BF-8D3E-E83EB6F0C931}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{10369238-A590-48BF-8D3E-E83EB6F0C931}.Release|Any CPU.Build.0 = Release|Any CPU
|
{10369238-A590-48BF-8D3E-E83EB6F0C931}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{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
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
@@ -287,6 +311,8 @@ Global
|
|||||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
{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}
|
||||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810} = {74E681ED-FECC-4034-B9BD-01B0BB1BDECA}
|
{ABC826D4-2FA1-4F2F-87DE-E6095F653810} = {74E681ED-FECC-4034-B9BD-01B0BB1BDECA}
|
||||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA} = {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}
|
{6CB3EB30-F725-45C0-9742-42599BA8E8D2} = {74E681ED-FECC-4034-B9BD-01B0BB1BDECA}
|
||||||
|
|||||||
Reference in New Issue
Block a user