Skip to content

Commit 4189d6b

Browse files
committed
Issues #27 #28 #29 #30
Rolled back Issue #9
1 parent 9844a87 commit 4189d6b

File tree

14 files changed

+340
-42
lines changed

14 files changed

+340
-42
lines changed

App_Config/Include/Cognifide.PowerShell.config

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
<command name="ise:editsettings"
2222
type="Cognifide.PowerShell.SitecoreIntegrations.Commands.EditIseSettings,Cognifide.PowerShell" />
2323
<command name="sheer:input" type="Cognifide.PowerShell.SitecoreIntegrations.Commands.Sheer.GetInput,Cognifide.PowerShell" />
24-
24+
<command name="ise:rebuildcontrolpanel" type="Cognifide.PowerShell.SitecoreIntegrations.Commands.RebuildControlPanelIntegration,Cognifide.PowerShell" />
25+
<command name="ise:rebuildall" type="Cognifide.PowerShell.SitecoreIntegrations.Commands.RebuildAllIntegrations,Cognifide.PowerShell" />
2526
</commands>
2627
<settings>
2728
<setting name="Cognifide.PowerShell.CommandWaitMillis" value="25" />
@@ -49,12 +50,7 @@
4950
<processor type="Cognifide.PowerShell.SitecoreIntegrations.Processors.ScriptedRenderingDataSourceResolve, Cognifide.PowerShell" />
5051
</resolveRenderingDatasource>
5152
</pipelines>
52-
<!--events>
53-
<event name="item:added">
54-
<handler type="Cognifide.PowerShell.SitecoreIntegrations.Tasks.LibraryWatcher, Cognifide.PowerShell" method="OnEvent" />
55-
</event>
56-
</events-->
57-
<events>
53+
<!--events>
5854
<event name="item:added">
5955
<handler type="Cognifide.PowerShell.SitecoreIntegrations.Tasks.ScriptedItemEventHandler, Cognifide.PowerShell" method="OnEvent" />
6056
</event>
@@ -145,6 +141,6 @@
145141
<event name="item:versionRemoving">
146142
<handler type="Cognifide.PowerShell.SitecoreIntegrations.Tasks.ScriptedItemEventHandler, Cognifide.PowerShell" method="OnEvent" />
147143
</event>
148-
</events>
144+
</events-->
149145
</sitecore>
150146
</configuration>

Cognifide.PowerShell.csproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@
112112
<Reference Include="System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
113113
</ItemGroup>
114114
<ItemGroup>
115+
<Compile Include="PowerShellIntegrations\Commandlets\Interactive\CloseDialogCommand.cs" />
116+
<Compile Include="PowerShellIntegrations\Commandlets\Interactive\Messages\CloseWindowMessage.cs" />
115117
<Compile Include="PowerShellIntegrations\Commandlets\Interactive\Messages\DownloadMessage.cs" />
116118
<Compile Include="PowerShellIntegrations\Commandlets\Packages\InstallUpdatePackageCommand.cs" />
117119
<Compile Include="PowerShellIntegrations\Host\CognifideSitecorePowerShellSnapIn.cs">
@@ -234,6 +236,8 @@
234236
<SubType>Component</SubType>
235237
</Compile>
236238
<Compile Include="Properties\GlobalSuppressions.cs" />
239+
<Compile Include="SitecoreIntegrations\Commands\RebuildAllIntegrations.cs" />
240+
<Compile Include="SitecoreIntegrations\Commands\RebuildControlPanelIntegration.cs" />
237241
<Compile Include="SitecoreIntegrations\Commands\EditIseSettings.cs" />
238242
<Compile Include="SitecoreIntegrations\Processors\BaseScriptedDataSource.cs" />
239243
<Compile Include="SitecoreIntegrations\Processors\ScriptedRenderingDataSourceResolve.cs" />
@@ -254,6 +258,7 @@
254258
<Compile Include="SitecoreIntegrations\Commands\ExecutePowerShellConsole.cs" />
255259
<Compile Include="SitecoreIntegrations\Commands\ExecutePowerShellScript.cs" />
256260
<Compile Include="SitecoreIntegrations\Tasks\ExecuteScriptTask.cs" />
261+
<Compile Include="SitecoreIntegrations\Tasks\LibraryWatcher.cs" />
257262
<Compile Include="SitecoreIntegrations\Tasks\ScriptedItemEventHandler.cs" />
258263
<Compile Include="SitecoreIntegrations\Workflows\ScriptAction.cs" />
259264
</ItemGroup>

Console/Assets/Sitecore.Views.ps1xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@
2424
</TableColumnHeader>
2525
<TableColumnHeader>
2626
<Label>Id</Label>
27-
<Width>46</Width>
27+
<Width>38</Width>
28+
<Alignment>left</Alignment>
29+
</TableColumnHeader>
30+
<TableColumnHeader>
31+
<Label>TemplateName</Label>
32+
<Width>32</Width>
2833
<Alignment>left</Alignment>
2934
</TableColumnHeader>
3035
</TableHeaders>
@@ -43,6 +48,9 @@
4348
<TableColumnItem>
4449
<PropertyName>ID</PropertyName>
4550
</TableColumnItem>
51+
<TableColumnItem>
52+
<PropertyName>TemplateName</PropertyName>
53+
</TableColumnItem>
4654
</TableColumnItems>
4755
</TableRowEntry>
4856
</TableRowEntries>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using System;
2+
using System.Collections;
3+
using System.IO;
4+
using System.Management.Automation;
5+
using Cognifide.PowerShell.PowerShellIntegrations.Commandlets.Interactive.Messages;
6+
using Sitecore.Data.Items;
7+
using Sitecore.Diagnostics;
8+
using Sitecore.IO;
9+
using Sitecore.Jobs.AsyncUI;
10+
using Sitecore.Resources.Media;
11+
using Sitecore.Shell;
12+
using Sitecore.Shell.Framework;
13+
using Sitecore.Text;
14+
15+
namespace Cognifide.PowerShell.PowerShellIntegrations.Commandlets.Interactive
16+
{
17+
[Cmdlet(VerbsCommon.Close, "Window", SupportsShouldProcess = true)]
18+
public class CloseDialogCommand : BaseFormCommand
19+
{
20+
protected override void ProcessRecord()
21+
{
22+
JobContext.MessageQueue.PutMessage(new CloseWindowMessage());
23+
}
24+
}
25+
}

PowerShellIntegrations/Commandlets/Interactive/ExecuteShellCommandCommand.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Cognifide.PowerShell.PowerShellIntegrations.Commandlets.Interactive
88
[Cmdlet("Execute", "ShellCommand", SupportsShouldProcess = true, DefaultParameterSetName = "Item")]
99
public class ExecuteShellCommandCommand : BaseShellCommand
1010
{
11-
[ValidatePattern(@"[\*\?\[\]\-0-9a-zA-Z_]+\:[\*\?\[\]\-0-9a-zA-Z_]+")]
11+
/*[ValidatePattern(@"[\*\?\[\]\-0-9a-zA-Z_]+\:[\*\?\[\]\-0-9a-zA-Z_]+")]*/
1212
[Parameter(Position = 0, Mandatory = true)]
1313
public string Name { get; set; }
1414

@@ -22,7 +22,10 @@ protected override void ProcessRecord()
2222
if (Sitecore.Context.Job != null)
2323
{
2424
JobContext.MessageQueue.PutMessage(new ShellCommandInItemContextMessage(Item, Name));
25-
WriteItem(Item);
25+
if (Item != null)
26+
{
27+
WriteItem(Item);
28+
}
2629
}
2730
});
2831
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using System;
2+
using Sitecore;
3+
using Sitecore.Data.Items;
4+
using Sitecore.Diagnostics;
5+
using Sitecore.Jobs.AsyncUI;
6+
using Sitecore.Resources.Media;
7+
using Sitecore.Shell.Framework;
8+
using Sitecore.Text;
9+
using Sitecore.Web.UI.Sheer;
10+
11+
namespace Cognifide.PowerShell.PowerShellIntegrations.Commandlets.Interactive.Messages
12+
{
13+
[Serializable]
14+
public class CloseWindowMessage : BasePipelineMessage, IMessage
15+
{
16+
public CloseWindowMessage()
17+
{
18+
}
19+
20+
/// <summary>
21+
/// Shows a confirmation dialog.
22+
///
23+
/// </summary>
24+
protected override void ShowUI()
25+
{
26+
Context.ClientPage.ClientResponse.CloseWindow();
27+
}
28+
}
29+
}

PowerShellIntegrations/Host/ScriptSession.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,11 @@ public void Initialize(bool reinitialize)
159159

160160
public static string GetDataContextSwitch(Item item)
161161
{
162-
return String.Format(
163-
"cd \"{0}:{1}\"\n", item.Database.Name,
164-
item.Paths.Path.Replace("/", "\\").Substring(9));
162+
return item != null
163+
? string.Format(
164+
"cd \"{0}:{1}\"\n", item.Database.Name,
165+
item.Paths.Path.Replace("/", "\\").Substring(9))
166+
: string.Empty;
165167
}
166168

167169
public List<object> ExecuteScriptPart(string script)

SitecoreIntegrations/Applications/PowerShellIse.cs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -458,23 +458,6 @@ protected void ExecuteInternal(params object[] parameters)
458458
{
459459
scriptSession.ExecuteScriptPart(Settings.Prescript);
460460
scriptSession.ExecuteScriptPart(contextScript);
461-
Item scriptItem = string.IsNullOrEmpty(scriptItemId) ? null : Client.ContentDatabase.GetItem(new ID(scriptItemId));
462-
if (scriptItem != null)
463-
{
464-
string dependencies = scriptItem["UsingScripts"];
465-
if (!string.IsNullOrEmpty(dependencies))
466-
{
467-
MultilistField multiselectField = scriptItem.Fields["UsingScripts"];
468-
if (multiselectField != null)
469-
{
470-
Item[] dependencyScriptItems = multiselectField.GetItems();
471-
foreach (var dependencyScriptItem in dependencyScriptItems)
472-
{
473-
scriptSession.ExecuteScriptPart(dependencyScriptItem.Fields[ScriptItemFieldNames.Script].Value);
474-
}
475-
}
476-
}
477-
}
478461
scriptSession.ExecuteScriptPart(Editor.Value);
479462
var output = new StringBuilder(10240);
480463
if (scriptSession.Output != null)

SitecoreIntegrations/Applications/PowerShellResults.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ protected virtual void Execute(ClientPipelineArgs args)
101101
public void Execute()
102102
{
103103
ScriptSession scriptSession = ScriptSessionManager.GetSession(PersistentId, Settings.ApplicationName, false);
104-
string contextScript = string.Format("Set-HostProperty -HostWidth 80\n{0}\n{1}",
104+
string contextScript = string.Format("Set-HostProperty -HostWidth {0}\n{1}\n{2}",
105+
scriptSession.Settings.HostWidth,
105106
scriptSession.Settings.Prescript,
106107
ScriptSession.GetDataContextSwitch(CurrentItem));
107108

SitecoreIntegrations/Commands/ExecutePowerShellScript.cs

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,14 @@ public override void Execute(CommandContext context)
2222

2323
string warning = scriptItem[ScriptItemFieldNames.PreExecutionWarning];
2424
string showResults = scriptItem[ScriptItemFieldNames.ShowResults];
25-
string itemId = context.Items[0].ID.ToString();
26-
string itemDb = context.Items[0].Database.Name;
25+
string itemId = string.Empty;
26+
string itemDb = string.Empty;
2727

28+
if (context.Items.Length > 0)
29+
{
30+
itemId = context.Items[0].ID.ToString();
31+
itemDb = context.Items[0].Database.Name;
32+
}
2833
if (String.IsNullOrEmpty(warning))
2934
{
3035
ExecuteScript(itemId, itemDb, scriptId, scriptDb, showResults);
@@ -75,7 +80,11 @@ public static void ExecuteScript(string itemId, string itemDb, string scriptId,
7580
}
7681
else
7782
{
78-
Item item = Factory.GetDatabase(itemDb).GetItem(new ID(itemId));
83+
Item item = null;
84+
if(!string.IsNullOrEmpty(itemDb) && !string.IsNullOrEmpty(itemId))
85+
{
86+
item = Factory.GetDatabase(itemDb).GetItem(new ID(itemId));
87+
}
7988
Item scriptItem = Factory.GetDatabase(scriptDb).GetItem(new ID(scriptId));
8089
ScriptSession scriptSession = null;
8190

@@ -85,11 +94,13 @@ public static void ExecuteScript(string itemId, string itemDb, string scriptId,
8594
scriptSession =
8695
ScriptSessionManager.GetSession(persistentSessionId, ApplicationNames.Context, true);
8796
scriptSession.Initialize(!string.IsNullOrEmpty(persistentSessionId));
88-
scriptSession.ExecuteScriptPart("Set-HostProperty -HostWidth 80");
97+
scriptSession.ExecuteScriptPart(string.Format("Set-HostProperty -HostWidth {0}",scriptSession.Settings.HostWidth));
8998
scriptSession.ExecuteScriptPart(scriptSession.Settings.Prescript);
90-
scriptSession.ExecuteScriptPart(
91-
String.Format(
92-
"cd \"{0}:{1}\"", item.Database.Name, item.Paths.Path.Replace("/", "\\").Substring(9)));
99+
if (item != null)
100+
{
101+
scriptSession.SetItemLocationContext(item);
102+
}
103+
93104
scriptSession.ExecuteScriptPart(scriptItem[ScriptItemFieldNames.Script]);
94105
}
95106
finally

0 commit comments

Comments
 (0)