WIP installer refactor, update to canvas skin module

[TFS Changeset #77037]
This commit is contained in:
starfighter83
2010-09-09 11:00:54 +00:00
parent 69e5e5d32f
commit a2cbadec4e
3 changed files with 81 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SkinCustomizer.ascx.cs" Inherits="umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule.SkinCustomizer" %>
<%@ Import Namespace="umbraco.cms.businesslogic.packager.repositories" %>
<div id="costumizeSkin" <asp:Literal ID="ltCustomizeSkinStyle" runat="server" Text=""></asp:Literal>>
@@ -17,7 +17,28 @@
<div id="changeSkin" <asp:Literal ID="ltChangeSkinStyle" runat="server" Text="style='display:none;'"></asp:Literal>>
<div id="skins">
<asp:PlaceHolder ID="ph_skins" runat="server"></asp:PlaceHolder>
<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="Install" CommandArgument="<%# ((Skin)Container.DataItem).RepoGuid %>" OnClick="SelectStarterKitDesign"/>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</div>
<p runat="server" id="pCustomizeSkin">... or <a href="#" onclick="jQuery('#changeSkin').hide();jQuery('#costumizeSkin').show();">customize</a> current skin</p>

View File

@@ -19,6 +19,15 @@ namespace umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule
private List<Dependency> sDependencies = new List<Dependency>();
private cms.businesslogic.packager.repositories.Repository repo;
private string repoGuid = "65194810-1f85-11dd-bd0b-0800200c9a66";
public SkinCustomizer()
{
repo = cms.businesslogic.packager.repositories.Repository.getByGuid(repoGuid);
}
protected void Page_Load(object sender, EventArgs e)
{
@@ -53,11 +62,24 @@ namespace umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule
}
else
{
install.steps.Skinning.loadStarterKitDesigns ctrl =
(install.steps.Skinning.loadStarterKitDesigns)new UserControl().LoadControl(SystemDirectories.Install + "/steps/Skinning/loadStarterKitDesigns.ascx");
ctrl.StarterKitGuid = (Guid)g;
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());
ph_skins.Controls.Add(ctrl);
//ShowConnectionError();
}
}
else
{
//ShowConnectionError();
}
}
@@ -170,9 +192,37 @@ namespace umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule
return value;
}
protected void bt_ChangeSkin_Click(object sender, EventArgs e)
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]);
}
}
else
{
//ShowConnectionError();
}
}
}
}

View File

@@ -67,13 +67,13 @@ namespace umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule {
protected global::System.Web.UI.WebControls.Literal ltChangeSkinStyle;
/// <summary>
/// ph_skins control.
/// 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.PlaceHolder ph_skins;
protected global::System.Web.UI.WebControls.Repeater rep_starterKitDesigns;
/// <summary>
/// pCustomizeSkin control.