From 694b20606b1259249a0047786522a7c7a199ac1e Mon Sep 17 00:00:00 2001 From: samjgriffin89 Date: Wed, 15 May 2013 13:03:57 -0400 Subject: [PATCH 1/5] added on save event --- CustomItemGenerator.csproj | 9 +++++---- Settings/CustomItemSettings.cs | 8 +++++++- SitecoreApp/CustomItemCodeBeside.cs | 25 ++++++++++++++++--------- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/CustomItemGenerator.csproj b/CustomItemGenerator.csproj index be85e62..b50dfe0 100644 --- a/CustomItemGenerator.csproj +++ b/CustomItemGenerator.csproj @@ -53,20 +53,20 @@ False - lib\Sitecore.Client.dll + ..\CustomItemGeneratorMaster\bin\Sitecore.Client.dll False - lib\Sitecore.Kernel.dll + ..\CustomItemGeneratorMaster\bin\Sitecore.Kernel.dll False False - lib\Sitecore.Logging.dll + ..\CustomItemGeneratorMaster\bin\Sitecore.Logging.dll False - lib\Sitecore.NVelocity.dll + ..\CustomItemGeneratorMaster\bin\Sitecore.NVelocity.dll @@ -104,6 +104,7 @@ + diff --git a/Settings/CustomItemSettings.cs b/Settings/CustomItemSettings.cs index 1c8c124..08ebd7e 100644 --- a/Settings/CustomItemSettings.cs +++ b/Settings/CustomItemSettings.cs @@ -14,6 +14,7 @@ public class CustomItemSettings public string NamespaceProvider { get; private set; } public string FilepathProvider { get; private set; } public List FieldMappings { get; private set; } + public bool AutoUpdate { get; set; } public CustomItemSettings(HttpContext httpContext) : this(httpContext.Server.MapPath("/")) @@ -33,7 +34,7 @@ public CustomItemSettings(string basePath) NamespaceProvider = string.Empty; FilepathProvider = string.Empty; FieldMappings = new List(); - + bool update = false; NvelocityTemplatePath = basePath + @"\sitecore modules\Shell\CustomItemGenerator\Nvelocity Templates"; foreach (XmlNode childNode in elementsByTagName[0].ChildNodes) @@ -67,6 +68,11 @@ public CustomItemSettings(string basePath) } break; + + case "AutoUpdate": + bool.TryParse(childNode.Attributes["onSave"].Value, out update); + AutoUpdate = update; + break; } } } diff --git a/SitecoreApp/CustomItemCodeBeside.cs b/SitecoreApp/CustomItemCodeBeside.cs index 4a4f4c6..f9e9322 100644 --- a/SitecoreApp/CustomItemCodeBeside.cs +++ b/SitecoreApp/CustomItemCodeBeside.cs @@ -22,7 +22,7 @@ public class CustomItemCodeBeside : DialogForm protected Database masterDb = Factory.GetDatabase("master"); protected Edit CustomItemNamespace; protected Edit CustomItemFilePath; - private TemplateItem template; + protected TemplateItem template; private Checkbox GenerateBaseFile; private Checkbox GenerateInstanceFile; @@ -51,9 +51,11 @@ protected override void OnLoad(EventArgs args) } else { - if (!Context.ClientPage.IsEvent) + + CustomItemSettings settings = new CustomItemSettings(HttpContext.Current); + + if (settings.AutoUpdate || !Context.ClientPage.IsEvent) { - CustomItemSettings settings = new CustomItemSettings(HttpContext.Current); string defaultNamespace = settings.BaseNamespace; string defaultFilePath = settings.BaseFileOutputPath; @@ -91,14 +93,19 @@ protected override void OnOK(object sender, EventArgs args) ICustomItemNamespaceProvider namespaceProvider = AssemblyUtil.GetNamespaceProvider(settings.NamespaceProvider); ICustomItemFolderPathProvider filePathProvider = AssemblyUtil.GetFilePathProvider(settings.FilepathProvider); - CustomItemInformation customItemInformation = new CustomItemInformation(template, CustomItemNamespace.Value, - CustomItemFilePath.Value, filePathProvider, namespaceProvider); - CodeGenerator codeGenerator = new CodeGenerator(customItemInformation, - GenerateBaseFile.Checked, GenerateInstanceFile.Checked, GenerateInterfaceFile.Checked, GenerateStaticFile.Checked); - codeGenerator.GenerateCode(); + CustomItemInformation customItemInformation = new CustomItemInformation(template, CustomItemNamespace.Value, + CustomItemFilePath.Value, filePathProvider, namespaceProvider); - SheerResponse.Alert(codeGenerator.GenerationMessage, new string[0]); + if (settings.AutoUpdate) { + new CodeGenerator(customItemInformation, true, false, false, false).GenerateCode(); + } + else { + CodeGenerator codeGenerator = new CodeGenerator(customItemInformation, + GenerateBaseFile.Checked, GenerateInstanceFile.Checked, GenerateInterfaceFile.Checked, GenerateStaticFile.Checked); + codeGenerator.GenerateCode(); + SheerResponse.Alert(codeGenerator.GenerationMessage, new string[0]); + } base.OnOK(sender, args); } } From e4d658e7af7325ae152ce5c810b4d70a08a11020 Mon Sep 17 00:00:00 2001 From: samjgriffin89 Date: Tue, 4 Jun 2013 10:24:16 -0400 Subject: [PATCH 2/5] updated CustomItem.config to have autoupdate property --- Data/Packages/Custom Item Generator-1.0.zip | Bin 25960 -> 43608 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Data/Packages/Custom Item Generator-1.0.zip b/Data/Packages/Custom Item Generator-1.0.zip index 852534949b161286848ccd108f6c24aa635d353f..51ffd955b84a573ab7f8b93d71d6d88ed3a998b6 100644 GIT binary patch literal 43608 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 LS7k_&;xqpbF@T%+ literal 25960 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 =pxU7iFsl96^MTP^#3NB5GJwpT~)o z32D+I!_Pm4+>cgM&yIw2$Bu+OG-p`M{CqVD2ptYY^y|9v2*+-Z_*S*78pdSSOp#Sn{8q&AbkqQ=!@Z0zLgBi zuNf2$Lx;$R`43_UF-#pG>_|vPz`RkufQ3DhM(gBw84r)DPQrHPs#XOk#~g5qIYl{4 zMeNC&gpjCJIctbY%%yPwWl}51X)ja=1|l)uFZT`YB{)U2R-4bF3IO|{94<>7L9ReA zB0c!`Q`5`BBq3mS^{a{#Eygarn8tG^OWX>Ez$s~dMoA3&s;}l1k1d+^ zJZ^;lM9+FUP6ENE*1rowa%c7f_Ot7K9xeA1dQuLL@ACe+<;$f@d*iJQM_;)0rPc!G z%R?Tzg%=x3UD<&VR62U*wXA3o=`04`D^{Q^^S&4Uci!&wpA~G8 z83&0H0C=i&NJb7S8464`z~~jSldV>)Nz{g(~06; z#Z|+swRC)7e0Ju%^VLM@FVB;v?{w#*P^%kN37nfz$cOMZdt*LhpP zPa9#vgVm`gw7zsL35V{ghof>Bmfz&s13AnMNr>l7s!wqiT>IvHXj9BB#ZO)R0SVW% zm5;B>PAYa~=$?<`-T!wS&NCI};O($pG5rsRgjvT_uilqa+%Eql0!>zJ2{~`Fai!)p+P1MP6Af-*6*H=I-I{xR6T+;1*bVuc!my+_uu92bBzL^z;PqcgV z0n@5l_ja#9z&wBC`fm78OicBYn_fz0PjbL}mqdgk(U-GEqHB%ryWWY}lRh@r4khCJ zNqq68pC}5@jh$0NkPG{0hp6q{)JJWuKIml9vOU(cfVKMV8(BKrUnQut=obuSm2ll2 z`!UEP-If>G!bweHY!lC!#(#O$=w|PpcV5xlu$BDcgYxVci6vE%(o`6R|1wA1AG5B# z9|~OLh0SeGy+AX!+{g&xY6B((V?t*P=G-s80hWJ@@9W>bN^aRn$IsG`INS`Wj~+XA zD{AhMv)N03b;bF9%ofq%=Bs|&{VrQjia`Az*{D8k1Eu7Rj~_ShrX3KQ;QaMN$Gi_- z%0GE}G9Afg^w~@ARC8p*1zhl}Zt}t#Y(z;y_1yEneV6L;A(~wH`3*lU?GO=nig!$$ zde0GAm%!_VK;Q4o%gZ6T=)}f#JIx)-$aSARQ<*-IET6t>qcnD?u;6PSU__v+wzNa| z4Hxg4cw($pjEV=>0|$(U?AP&sdcnGV!9CFz3Qa4TLkbuS8l&;bX!LSg`L)g(bOoB-W@7xIC|i-1$n!w>r>0Neiu;hdgP8j zWgdNM&2_<>?(M9p{O&GtF04(!NegZ1Uy(+!%dc+f17S-0>~DDQ=EL7V_u|sm$1abI zanZCy)96KN Date: Tue, 4 Jun 2013 10:40:17 -0400 Subject: [PATCH 3/5] added patch config for onsave event. --- Data/Packages/Custom Item Generator-1.0.zip | Bin 43608 -> 44689 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Data/Packages/Custom Item Generator-1.0.zip b/Data/Packages/Custom Item Generator-1.0.zip index 51ffd955b84a573ab7f8b93d71d6d88ed3a998b6..268f406e5400e612c330e8a4af0eab6810745b20 100644 GIT binary patch delta 5960 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 X Date: Thu, 6 Jun 2013 10:04:05 -0400 Subject: [PATCH 4/5] adding the autoupdate pipeline --- Pipelines/AutoUpdate.cs | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Pipelines/AutoUpdate.cs diff --git a/Pipelines/AutoUpdate.cs b/Pipelines/AutoUpdate.cs new file mode 100644 index 0000000..826fc0b --- /dev/null +++ b/Pipelines/AutoUpdate.cs @@ -0,0 +1,42 @@ +using System; +using System.Web; +using CustomItemGenerator.Settings; +using CustomItemGenerator.SitecoreApp; +using Sitecore.Web.UI.Sheer; +using Sitecore.Web.UI.HtmlControls; +using System.IO; +using CustomItemGenerator.Util; +using Sitecore.Data.Items; + +namespace CustomItemGenerator.Pipelines { + public class AutoUpdate : CustomItemCodeBeside { + protected void OnItemSaved(object sender, EventArgs args) { + + CustomItemSettings settings = new CustomItemSettings(HttpContext.Current); + + // Only continue if we have valid args, auto update is set to true, and the file exists already + if (args != null && settings.AutoUpdate) { + + // Get the template destination + Item _temp = masterDb.GetItem(GetCurrentContentGuid()); + if (_temp != null) { + string file_path = FileUtil.GetClassFilePath(CodeUtil.GetClassNameForTemplate(_temp), settings.BaseFileOutputPath); + + // Make sure the template already exists + if (File.Exists(file_path)) { + + // Set these up since we don't have the editor open + CustomItemNamespace = new Edit(); + CustomItemFilePath = new Edit(); + + // Call the current code beside + OnLoad(args); + OnOK(sender, args); + } + } + } + + return; + } + } +} From 96a69cb0500f939fbed8f382e1056ed3ad46134b Mon Sep 17 00:00:00 2001 From: Tom Kennedy Date: Wed, 12 Jun 2013 21:47:38 -0400 Subject: [PATCH 5/5] Added ToString overrides for simple field types --- Fields/SimpleTypes/CustomCheckboxField.cs | 9 +++++++-- Fields/SimpleTypes/CustomDateField.cs | 5 +++++ Fields/SimpleTypes/CustomIntegerField.cs | 5 +++++ Fields/SimpleTypes/CustomTextField.cs | 5 +++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Fields/SimpleTypes/CustomCheckboxField.cs b/Fields/SimpleTypes/CustomCheckboxField.cs index a0df002..fb81438 100644 --- a/Fields/SimpleTypes/CustomCheckboxField.cs +++ b/Fields/SimpleTypes/CustomCheckboxField.cs @@ -10,9 +10,9 @@ public CustomCheckboxField(Item item, CheckboxField field) { } - public static implicit operator bool(CustomCheckboxField dateField) + public static implicit operator bool(CustomCheckboxField checkboxField) { - return dateField.Checked; + return checkboxField.Checked; } public bool Checked @@ -24,5 +24,10 @@ public bool Checked return ((CheckboxField)item.Fields[field.InnerField.Name]).Checked; } } + + public override string ToString() + { + return Checked.ToString(); + } } } diff --git a/Fields/SimpleTypes/CustomDateField.cs b/Fields/SimpleTypes/CustomDateField.cs index 6ad2227..8598b39 100644 --- a/Fields/SimpleTypes/CustomDateField.cs +++ b/Fields/SimpleTypes/CustomDateField.cs @@ -25,5 +25,10 @@ public DateTime DateTime return ((DateField)item.Fields[field.InnerField.Name]).DateTime; } } + + public override string ToString() + { + return DateTime.ToString(); + } } } diff --git a/Fields/SimpleTypes/CustomIntegerField.cs b/Fields/SimpleTypes/CustomIntegerField.cs index 38a45bb..9b0162b 100644 --- a/Fields/SimpleTypes/CustomIntegerField.cs +++ b/Fields/SimpleTypes/CustomIntegerField.cs @@ -33,5 +33,10 @@ public int Integer return int.MinValue; } } + + public override string ToString() + { + return Integer.ToString(); + } } } diff --git a/Fields/SimpleTypes/CustomTextField.cs b/Fields/SimpleTypes/CustomTextField.cs index cb93fb4..dbef354 100644 --- a/Fields/SimpleTypes/CustomTextField.cs +++ b/Fields/SimpleTypes/CustomTextField.cs @@ -19,5 +19,10 @@ public string Text { get { return Rendered; } } + + public override string ToString() + { + return Text.ToString(); + } } }