WIP installer refactor, updates to template skinning dialog
[TFS Changeset #77202]
This commit is contained in:
@@ -1,20 +1,21 @@
|
||||
<%@ Page Language="C#" MasterPageFile="../masterpages/umbracoDialog.Master" AutoEventWireup="true" CodeBehind="TemplateSkinning.aspx.cs" Inherits="umbraco.presentation.umbraco.dialogs.TemplateSkinning" %>
|
||||
<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
|
||||
<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
|
||||
<%@ Import Namespace="umbraco.cms.businesslogic.packager.repositories" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="body" runat="server">
|
||||
|
||||
<cc1:Pane ID="p_apply" runat="server" Visible="false">
|
||||
|
||||
<cc1:PropertyPanel ID="PropertyPanel1" runat="server" Text="Select a skin">
|
||||
<asp:DropDownList ID="dd_skins" runat="server" /> <asp:LinkButton OnClick="openRepo" runat="server">Download more skins</asp:LinkButton>
|
||||
<asp:DropDownList ID="dd_skins" runat="server" /> <asp:LinkButton OnClick="openRepo" runat="server" ID="bt_repo">Download more skins</asp:LinkButton>
|
||||
</cc1:PropertyPanel>
|
||||
|
||||
<cc1:PropertyPanel ID="PropertyPanel2" runat="server" Text=" ">
|
||||
|
||||
<br />
|
||||
|
||||
<asp:Button ID="Button1" runat="server" OnClick="apply" />
|
||||
<asp:Button ID="Button1" runat="server" Text="Apply" OnClick="apply" />
|
||||
|
||||
<asp:PlaceHolder ID="ph_rollback" runat="server" Visible="false">
|
||||
<em>or</em> <asp:LinkButton ID="lb_rollback" OnClick="rollback" runat="server">Rollback current skin</asp:LinkButton>
|
||||
@@ -24,7 +25,32 @@
|
||||
</cc1:Pane>
|
||||
|
||||
<cc1:Pane ID="p_download" runat="server" Visible="false">
|
||||
...connect to repo and list all skins available, mark those already installed...
|
||||
|
||||
<div id="skins">
|
||||
<asp:Repeater ID="rep_starterKitDesigns" runat="server">
|
||||
<HeaderTemplate>
|
||||
<ul id="starterKitDesigns">
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<li>
|
||||
|
||||
<img src="<%# ((Skin)Container.DataItem).Thumbnail %>" alt="<%# ((Skin)Container.DataItem).Text %>" />
|
||||
|
||||
<span><%# ((Skin)Container.DataItem).Text %></span>
|
||||
|
||||
<br />
|
||||
|
||||
<asp:Button ID="Button1" runat="server" Text="Download and apply" CommandArgument="<%# ((Skin)Container.DataItem).RepoGuid %>" OnClick="SelectStarterKitDesign"/>
|
||||
</li>
|
||||
</ItemTemplate>
|
||||
|
||||
<FooterTemplate>
|
||||
</ul>
|
||||
</FooterTemplate>
|
||||
</asp:Repeater>
|
||||
|
||||
</div>
|
||||
|
||||
</cc1:Pane>
|
||||
|
||||
</asp:Content>
|
||||
|
||||
@@ -14,6 +14,14 @@ namespace umbraco.presentation.umbraco.dialogs
|
||||
{
|
||||
private int templateID = 0;
|
||||
|
||||
private cms.businesslogic.packager.repositories.Repository repo;
|
||||
private string repoGuid = "65194810-1f85-11dd-bd0b-0800200c9a66";
|
||||
|
||||
public TemplateSkinning()
|
||||
{
|
||||
repo = cms.businesslogic.packager.repositories.Repository.getByGuid(repoGuid);
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
templateID = int.Parse(Request["id"]);
|
||||
@@ -51,16 +59,88 @@ namespace umbraco.presentation.umbraco.dialogs
|
||||
return FindTemplateRoot(t.Parent);
|
||||
}
|
||||
|
||||
protected void openRepo(object sender, EventArgs e) { }
|
||||
protected void openRepo(object sender, EventArgs e) {
|
||||
|
||||
Guid? g = Skinning.StarterKitGuid(templateID);
|
||||
|
||||
|
||||
if (g == null || !Skinning.HasAvailableSkins(templateID))
|
||||
{
|
||||
bt_repo.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (repo.HasConnection())
|
||||
{
|
||||
try
|
||||
{
|
||||
rep_starterKitDesigns.DataSource = repo.Webservice.Skins(g.ToString());
|
||||
rep_starterKitDesigns.DataBind();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BusinessLogic.Log.Add(BusinessLogic.LogTypes.Debug, -1, ex.ToString());
|
||||
|
||||
//ShowConnectionError();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//ShowConnectionError();
|
||||
}
|
||||
}
|
||||
|
||||
p_apply.Visible = false;
|
||||
p_download.Visible = true;
|
||||
|
||||
}
|
||||
|
||||
protected void SelectStarterKitDesign(object sender, EventArgs e)
|
||||
{
|
||||
Guid kitGuid = new Guid(((Button)sender).CommandArgument);
|
||||
|
||||
cms.businesslogic.packager.Installer installer = new cms.businesslogic.packager.Installer();
|
||||
|
||||
if (repo.HasConnection())
|
||||
{
|
||||
cms.businesslogic.packager.Installer p = new cms.businesslogic.packager.Installer();
|
||||
|
||||
string tempFile = p.Import(repo.fetch(kitGuid.ToString()));
|
||||
p.LoadConfig(tempFile);
|
||||
int pID = p.CreateManifest(tempFile, kitGuid.ToString(), repoGuid);
|
||||
|
||||
p.InstallFiles(pID, tempFile);
|
||||
p.InstallBusinessLogic(pID, tempFile);
|
||||
p.InstallCleanUp(pID, tempFile);
|
||||
|
||||
library.RefreshContent();
|
||||
|
||||
if (cms.businesslogic.skinning.Skinning.GetAllSkins().Count > 0)
|
||||
{
|
||||
cms.businesslogic.skinning.Skinning.ActivateAsCurrentSkin(cms.businesslogic.skinning.Skinning.GetAllSkins()[0]);
|
||||
}
|
||||
|
||||
|
||||
Page.Response.Redirect(library.NiceUrl(int.Parse(UmbracoContext.Current.PageId.ToString())));
|
||||
}
|
||||
else
|
||||
{
|
||||
//ShowConnectionError();
|
||||
}
|
||||
}
|
||||
|
||||
protected void apply(object sender, EventArgs e) {
|
||||
|
||||
if (dd_skins.SelectedIndex > 0)
|
||||
{
|
||||
Skinn
|
||||
|
||||
Skin s = Skin.CreateFromAlias(dd_skins.SelectedValue);
|
||||
Skinning.ActivateAsCurrentSkin(s);
|
||||
}
|
||||
|
||||
}
|
||||
protected void rollback(object sender, EventArgs e) { }
|
||||
protected void rollback(object sender, EventArgs e) {
|
||||
|
||||
Skinning.RollbackSkin(templateID);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,15 @@ namespace umbraco.presentation.umbraco.dialogs {
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList dd_skins;
|
||||
|
||||
/// <summary>
|
||||
/// bt_repo control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton bt_repo;
|
||||
|
||||
/// <summary>
|
||||
/// PropertyPanel2 control.
|
||||
/// </summary>
|
||||
@@ -83,5 +92,14 @@ namespace umbraco.presentation.umbraco.dialogs {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::umbraco.uicontrols.Pane p_download;
|
||||
|
||||
/// <summary>
|
||||
/// rep_starterKitDesigns control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Repeater rep_starterKitDesigns;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user