Compare commits

...

2685 Commits

Author SHA1 Message Date
Mads Rasmussen 1dacbbdbf6 added dots to website/language selector 2016-03-16 11:09:06 +01:00
Mads Rasmussen f0b374c30b filter out selected item 2016-03-16 10:43:09 +01:00
Mads Rasmussen ec5feee1f3 WIP prototyping website/language selector 2016-03-16 09:26:34 +01:00
Simon Busborg 1d1d99ddad added variationsHelper service and toggler for content 2016-03-15 14:47:03 +01:00
Claus c306f94a6a Merge pull request #1154 from pynej/fix-stylesheet-tree-sync
Fix for issue causing the entire stylesheets tree to reload when …
2016-03-15 12:46:59 +01:00
Claus 11b2ec89fd Merge pull request #1167 from umbraco/temp-U4-8154
U4-8154 - bugfix Sql query expressions parsing
2016-03-15 12:36:52 +01:00
Claus 89596f00f1 Merge pull request #1151 from arknu/icon-transparency
Fix transparency for image icons in the tray
2016-03-15 09:54:36 +01:00
Claus 4fa6e70e72 Merge pull request #1140 from jamescoxhead/U4-7746
U4-7746 - use flat icon in partial views tree
2016-03-15 09:22:18 +01:00
Warren Buckley a5a0a84d46 Merge pull request #1163 from umbraco/temp-U4-7767
U4-7767 List View Filter needs debounce - many requests to handler me…
2016-03-14 16:12:19 +00:00
Warren Buckley 839431e6fa Merge pull request #1170 from umbraco/temp-U4-8157
U4-8157 Right-click on root node returns console error when it doesn'…
2016-03-14 14:28:39 +00:00
Stephan 5369a6fc56 Upgrade ModelsBuilder to 3.0.1 2016-03-14 13:37:49 +01:00
Claus 8a078e258f U4-8157 Right-click on root node returns console error when it doesn't has any actions
Ensured we don't use throw to stop the program flow if no menuUrl is defined on the node. It is a likely scenario that some root node don't have right click actions so its better to handle this.
2016-03-14 12:15:15 +01:00
Sebastiaan Janssen fb42574c34 Revert "U4-5334 Richtext editor inserts extra p - tags to html output" - apparently it does just as much harm as it does good
This reverts commit 9ad3b6a337.
2016-03-12 21:02:05 +01:00
Sebastiaan Janssen 9ad3b6a337 U4-5334 Richtext editor inserts extra p - tags to html output
#U4-5334 Fixed
2016-03-12 12:58:53 +01:00
Stephan 65b16fbfe5 U4-8154 - bugfix Sql query expressions parsing 2016-03-11 14:18:08 +01:00
Stephan 6ad2853bce Merge pull request #1165 from umbraco/temp-U4-7949
U4-7949 The task runner has completed YSOD when using the Umbraco Pac…
2016-03-10 18:29:08 +01:00
Sebastiaan Janssen b2407eab98 Merge pull request #1107 from bjarnef/dev-v7-tinymce-font-icons
Change icons for richtext editor config
2016-03-10 17:47:46 +01:00
Shannon 778c7a836b Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-03-10 15:52:43 +01:00
Shannon 11f9cdead0 U4-6366 Issue assigning member roles on MemberService.Saved event 2016-03-10 15:52:34 +01:00
Sebastiaan Janssen a1076d5443 Merge pull request #1160 from umbraco/temp-U4-6438
U4-6438 - fix dynamic extension methods when type loading goes bad
2016-03-10 15:49:15 +01:00
Shannon 4a11bf68f3 U4-7949 The task runner has completed YSOD when using the Umbraco Package installer 2016-03-10 15:23:52 +01:00
Sebastiaan Janssen fa64e73a43 Merge pull request #1164 from umbraco/temp-U4-5797
U4-5797 - fix PublishedContentType cache refresh for compositions
2016-03-10 14:04:46 +01:00
Stephan adf3e2dfe0 U4-5797 - fix PublishedContentType cache refresh for compositions 2016-03-10 13:59:50 +01:00
Shannon c4c86cf5ce U4-7767 List View Filter needs debounce - many requests to handler method 2016-03-10 13:02:20 +01:00
Sebastiaan Janssen 479aba8e1d Fixes unit test.. in the correct branch this time 2016-03-10 11:47:51 +01:00
Shannon 0c474e2aba U4-7670 True/false fields on Macro Picker don't save their setting nor read existing setting. - another null check required. 2016-03-10 10:06:20 +01:00
Shannon Deminick 4f5b34cdfe Merge pull request #1162 from pynej/codemirror-js-error
Fix for missing doc.setLine() function breaking code mirror editor.
2016-03-10 09:58:16 +01:00
Warren Buckley 0cb7f220ea Merge pull request #1149 from umbraco/temp-U4-4700
U4-4700 List View Doesn't Respect User Permissions
2016-03-10 08:52:38 +00:00
Jeremy Pyne 0995b2cb5a Fix for missing doc.setLine() function breaking code mirror editor. 2016-03-09 14:55:15 -05:00
Stephan 1b37475144 U4-6438 - fix dynamic extension methods when type loading goes bad 2016-03-09 15:55:41 +01:00
Shannon be0bacd895 Ensures all angular views are cache busted so browser cache is not an issue after upgrading. 2016-03-08 17:23:54 +01:00
Shannon a2564bd0c3 ensures that requests are only made for ids that haven't already been queried. 2016-03-08 16:18:33 +01:00
Shannon 402a5c9d56 fixes bool check 2016-03-08 15:57:59 +01:00
Shannon 2a2f22c7d9 fixes js null issue with boolean.controller 2016-03-08 15:53:45 +01:00
Shannon 372a768dca U4-4700 List view doesn't respect user permissions - makes the buttons show/hide based on the selected items instead of the current item. 2016-03-08 15:53:22 +01:00
Sebastiaan Janssen f6e48243a6 U4-8088 NuGet upgrade of UmbracoCms pacakage doesn't add ModelsBuilder keys to web.config 2016-03-08 13:39:35 +01:00
Warren Buckley 94ea677ec0 Merge pull request #1146 from umbraco/temp-U4-7641
U4-7641 - enable content type copy
2016-03-08 09:38:16 +00:00
Sebastiaan Janssen 55e7159f7d Forgot to remove them from the nuspec files 2016-03-08 10:35:57 +01:00
Sebastiaan Janssen 390a94e323 U4-8054 Issue with NuGet Uninstall.ps1 (running on updates)
#U4-8054 Fixed
2016-03-08 10:34:19 +01:00
Shannon Deminick 19fb920aa1 Merge pull request #1150 from umbraco/temp-U4-7823
U4-7823 - stop flooding the log with errors getting media 0
2016-03-07 17:58:49 +01:00
Shannon Deminick f35e1604ca Merge pull request #1141 from umbraco/temp-U4-8030
U4-8030 - Fix RenderModelBinder issue with surface
2016-03-07 17:53:31 +01:00
Shannon b9765c3bec fixes RenderModelBinder to use base implementation,adds unit tests 2016-03-07 17:52:28 +01:00
Shannon d5a57c505c adds RenderModelBinderTests 2016-03-07 16:53:57 +01:00
Shannon 5f365241a8 updates RenderModelBinder to simply check for IPublishedContent or IRenderModel 2016-03-07 16:29:40 +01:00
Shannon 9c121f0044 Fixes RenderModelBinder to inherit from DefaultModelBinder and use the default logic if the model in the route values is not IRenderModel 2016-03-07 16:26:30 +01:00
Shannon f13bc07ddc Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-03-07 15:13:41 +01:00
Shannon a707d23692 Allows for specifying explicit product names by overriding the property in MigrationStartupHander 2016-03-07 15:13:31 +01:00
Simon Busborg 0929b7d42c Fixes U4-8113 Styling for property labels affect package meta data labels 2016-03-07 14:55:18 +01:00
Simon Busborg 35a9272b68 Fixes U4-8036 Umbraco.MultiNodeTreePicker checkbox doesn't appear after selecting something from list view 2016-03-07 14:45:30 +01:00
Shannon Deminick 112453a032 Merge pull request #1144 from umbraco/temp-U4-8077
U4-8077 - ensure product name in migration event handlers
2016-03-07 14:09:29 +01:00
Simon Busborg bba7367ba6 Fixes U4-8058 Labels are changed to block-level elements 2016-03-07 12:12:35 +01:00
Jeremy Pyne 83e679ba5e Fix for issue causing the entire stylesheets tree to reload when selecting a item. 2016-03-02 16:00:33 -05:00
Sebastiaan Janssen 05c35b22bd Merge pull request #1148 from umbraco/temp-U4-7040
U4-7040 - Fix bug with permissions cache refresh
2016-03-02 15:03:47 +01:00
Asbjørn Riis-Knudsen 4d950fb4d4 Fix transparency for image icons in the tray 2016-02-28 17:40:58 +01:00
Stephan 0d191fb8bd U4-7823 - stop flooding the log with errors getting media 0 2016-02-26 11:35:24 +01:00
Mads Rasmussen f6318fb6f3 Merge pull request #1147 from lars-erik/fix-u4-8082-nested-forms-and-submit-bug
Fixes: U4-8082 New overlays post forms in IE / Edge
2016-02-26 10:08:51 +01:00
Warren Buckley c7a3efadb1 Remove debug JSON in the view 2016-02-25 21:09:12 +00:00
Warren Buckley 956425dfbf Now updated so the create button hides if we do not have the Create permission 'C' 2016-02-25 21:06:25 +00:00
Warren Buckley c616354522 After reading src code for contentEditorHelper.configureContentEditorButtons it makes the same assumption that if the publish action 'U' is present then the user can also unpublish aka 'Z' 2016-02-25 20:49:56 +00:00
Stephan 17b29357d4 U4-7040 - Fix bug with permissions cache refresh 2016-02-25 17:43:38 +01:00
Stephan 36246b96d4 Fix bug with permissions cache refresh 2016-02-25 17:39:34 +01:00
Stephan 7d8791ec86 Fix ActionButtonsResolver (need review) 2016-02-25 17:05:44 +01:00
Stephan f349a9ae3e U4-7641 - bugfix 2016-02-25 16:26:20 +01:00
Warren Buckley 2719e2c231 WIP - ListView that grabs the current nodes permission from the editorState & use a neater object to return to the view rather than the lovely Magic String CHARs. Need help understanding that I don't get all the permissions to be expected 2016-02-25 15:19:42 +00:00
Lars-Erik Aabech 57a766098d Removed nested form and changed buttons to type="button" + action instead of ng-submit on form. 2016-02-25 16:04:37 +01:00
Stephan dafde545b0 U4-7641 - bugfix + implement for media types 2016-02-25 16:02:04 +01:00
Stephan 610538261e U4-7641 - enable content type copy 2016-02-25 15:26:03 +01:00
Simon Busborg f78cb8a970 Merge pull request #1119 from jchurchley/dev-v7
Fixes U4-7963 Listview columns not evenly spaced in Chrome
2016-02-25 14:52:17 +01:00
Sebastiaan Janssen def276de01 Merge pull request #1143 from umbraco/temp-U4-8027
U4-8027 - fix ApplicationContext request cache (was null cache)
2016-02-25 10:46:31 +01:00
Stephan 293b170a56 U4-8027 - fix ApplicationContext request cache (was null cache) 2016-02-24 14:16:48 +01:00
Stephan 9f7b82e20f U4-8077 - ensure product name in migration event handlers 2016-02-24 13:59:15 +01:00
Warren Buckley 6ba4efc416 Merge pull request #1142 from umbraco/temp-U4-7570
Temp u4 7570
2016-02-24 11:12:59 +00:00
Simon Busborg 981fb39af6 Fixed crop slider 2016-02-24 09:14:13 +01:00
Sebastiaan Janssen c64f6f894e U4-8024 Unable to use MvcBuildViews since 7.4.0 upgrade because 'umbraco.cms.presentation.create.controls.content' has been removed
Removes files for which the codebehind no longer exists
2016-02-23 17:23:55 +01:00
Simon Busborg 3e73c2da43 Fixed width of cropper 2016-02-23 16:31:10 +01:00
Mads Rasmussen 26a8d23039 Fixes: U4-8063 Content type editor: Keyboard shortcut overview should close on escape 2016-02-23 15:09:27 +01:00
Mads Rasmussen 2632ef740c Fixes: U4-7570 Hide image, focal point and remove link until image has loaded 2016-02-23 13:55:05 +01:00
Sebastiaan Janssen f024dba864 Merge pull request #1139 from umbraco/temp-U4-8017
U4-8017 - fix issues with MySql InitColumnTypeMap
2016-02-22 19:05:41 +01:00
Stephan 9758851a4b Fix SqlCeSyntaxProviderTests 2016-02-22 18:55:49 +01:00
Stephan 04b3532e9d U4-8030 - Fix RenderModelBinder issue with surface 2016-02-22 18:38:06 +01:00
Sebastiaan Janssen 38e56f0fea Might make the build server happy? 2016-02-22 17:57:44 +01:00
Sebastiaan Janssen 462baf91e4 Merge pull request #1137 from umbraco/temp-U4-7914
U4-7914 - add PublishedContentRequest.Preparing event
2016-02-22 17:45:50 +01:00
James Coxhead 01bcd3b623 Changed partial views icon to icon-article 2016-02-22 16:15:31 +00:00
James Coxhead 64fd95bd22 Updated tree icons for partial views and partial view macros 2016-02-22 16:13:25 +00:00
Stephan f1366c7d29 U4-8017 - fix issues with MySql InitColumnTypeMap 2016-02-19 13:33:11 +01:00
Warren Buckley baaa9340e4 Merge pull request #1131 from umbraco/temp-U4-7918
Fixes U4-7918 Make icon picker for document type and list views consistent
2016-02-19 12:03:27 +00:00
Mads Rasmussen 183a5b5c43 U4-7472: fix macro parameter column width 2016-02-19 09:52:29 +01:00
Mads Rasmussen 1a0c095f40 Merge pull request #932 from engern/MacroParamSortOrder
Fixes U4-7472 - Should be possible to sort macro parameters
2016-02-19 09:27:27 +01:00
Stephan ffada74aa4 Improve RenderModelBinder error msg when same type, different assemblies 2016-02-18 16:04:45 +01:00
Mads Rasmussen f2fc70f731 Merge pull request #982 from abryukhov/patch-4
U4-7616 - Nodes sort dialog - additional date formats
2016-02-18 14:19:06 +01:00
Simon Busborg 866b0113e7 Fixes grunt break 2016-02-18 12:43:09 +01:00
Simon Busborg 06c49daca7 Merge branch 'dev-v7-login-retina-umbraco-logo' of git://github.com/bjarnef/Umbraco-CMS into bjarnef-dev-v7-login-retina-umbraco-logo
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/less/pages/login.less
2016-02-18 12:42:17 +01:00
Stephan 9293008b94 U4-7914 - add PublishedContentRequest.Preparing event 2016-02-18 11:36:48 +01:00
Mads Rasmussen dbb9386d22 Fixes: U4-7660 [7.4 Fix] Added a default value to the Umbaco.TrueFalse datatype. Thanks Jeremy Pyne 2016-02-18 11:20:04 +01:00
Mads Rasmussen 51ed441b85 Merge branch 'u4-5123' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-u4-5123
# Conflicts:
#	src/Umbraco.Web/PropertyEditors/ListViewPropertyEditor.cs
2016-02-18 10:00:22 +01:00
Simon Busborg f566fec665 Merge branch 'Acentrage-U4-6700' into dev-v7 2016-02-17 15:26:51 +01:00
Mads Rasmussen 9d92781a97 Merge pull request #949 from kgiszewski/dev-v7
Fix u4-7534
2016-02-17 15:04:14 +01:00
Simon Busborg 123bfe5afe Fixed merge conflict 2016-02-17 14:31:30 +01:00
Shannon Deminick 3383d2a2ac Merge pull request #1135 from umbraco/temp-U4-7601
U4-7601 - filter published content by composition
2016-02-17 13:31:07 +01:00
Sebastiaan Janssen d9f38a20af Merge remote-tracking branch 'origin/7.3.8' into dev-v7 2016-02-17 13:28:52 +01:00
Sebastiaan Janssen a91669abc0 Fixes unit tests 2016-02-17 13:28:11 +01:00
Stephan cc6dfd0c55 U4-7601 - refactor PR, case insensitive 2016-02-17 12:55:40 +01:00
Stephan d4802fcef6 Merge branch 'feature/is-composed-of' of https://github.com/AndyButland/Umbraco-CMS into temp-U4-7601 2016-02-17 12:44:18 +01:00
Sebastiaan Janssen 35c3208b77 Fixes merge error 2016-02-17 12:30:42 +01:00
Shannon 3b9db8a92f tries fixing test for appveyor 2016-02-17 12:25:40 +01:00
Sebastiaan Janssen 7debe17c58 Merge remote-tracking branch 'origin/7.3.8' into dev-v7
Conflicts:
	src/Umbraco.Web.UI/packages.config
2016-02-17 11:56:24 +01:00
Sebastiaan Janssen 1bfc1229bd Merge pull request #1134 from umbraco/temp-738-U4-7996
Upgrade SQL CE to hopefully fix SQL CE data loss bug
2016-02-17 11:54:25 +01:00
Shannon f941456af6 fixes namespace 2016-02-17 11:48:32 +01:00
Shannon 828e88e6f2 Merge remote-tracking branch 'origin/7.3.8' into dev-v7
Conflicts:
	src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs
	src/Umbraco.Web/Mvc/UmbracoViewPageOfTModel.cs
2016-02-17 11:46:33 +01:00
Sebastiaan Janssen 3d6fd2d785 Updates to SQL CE 4.0.0.1 2016-02-17 11:44:33 +01:00
Shannon e56881abc6 adds unit tests for new ext methods 2016-02-17 11:21:15 +01:00
Shannon d32991c30a re-organizing some namespaces for tests 2016-02-17 10:59:48 +01:00
Shannon 8758f9649b checks for null before assigning culture 2016-02-17 10:57:20 +01:00
Sebastiaan Janssen 07902e840f Merge pull request #1133 from rodyvansambeek/patch-2
Changed allow upload whitelist to disallow extensions
2016-02-17 10:53:05 +01:00
rodyvansambeek e807ee7d64 Changed allow upload whitelist to disallow extensions
It is not possible to upload files in 7.4.0 with an extension different then the imageTypes in the Umbraco.Sys.ServerVariables.umbracoSettings.imageFileTypes, in the single upload this was changed after beta 7.4.0-beta1 to Umbraco.Sys.ServerVariables.umbracoSettings.disallowedUploadFiles. However the change was not added to the drag-drop-uploader. This fixes that.
2016-02-17 10:30:57 +01:00
Shannon 6f0f1ab2c3 fixes wrong constant used 2016-02-17 10:22:37 +01:00
Shannon cd28240172 Moves strings to constants, adds ControllerContextExtensions to get the UmbracoContext from the hierarchy of ControllerContext's, changes RenderModelBinder to use this method to get the UmbracoContext, changes UmbracoViewPageOfTModel to use this method to get the UmbracoContext, adds RouteDataExtensions to get the UmbracoContext from routedata, adds extension methods on the HttpContext to get the UmbracoContext from it.
Conflicts:
	src/Umbraco.Web/Mvc/RenderModelBinder.cs
2016-02-17 10:22:22 +01:00
Sebastiaan Janssen 85ca85fd42 Merge pull request #1129 from umbraco/temp-U4-7577
U4-7577 Remove dependency on UmbracoContext in CreateServiceContext /…
2016-02-16 17:32:38 +01:00
Sebastiaan Janssen 4a10178697 Merge pull request #1123 from umbraco/temp-U4-8000
U4-8000 NullReferenceException in RenderModelBinder when performing an async controller action
2016-02-16 17:28:49 +01:00
Shannon ccba7f14a0 tries fixing test for appveyor 2016-02-16 16:26:21 +01:00
Sebastiaan Janssen b797e0d0c5 Merge pull request #1127 from umbraco/temp-U4-7953
U4-7953 Creating Templates via new DocType have camelCased aliases, b…
2016-02-16 15:39:35 +01:00
Sebastiaan Janssen 8220b033f3 Merge pull request #1125 from umbraco/temp-U4-7954
U4-7954 Error upgrading database to 7.4.0 - [ FK_cmsPropertyTypeGroup…
2016-02-16 15:20:53 +01:00
Shannon 6fffc8b45e U4-7577 Remove dependency on UmbracoContext in CreateServiceContext / RequestLifespanMessagesFactory 2016-02-16 15:07:42 +01:00
Shannon b550b3dde3 Merge remote-tracking branch 'origin/7.3.8' into dev-v7 2016-02-16 14:52:14 +01:00
Shannon 7002291c41 adds tests for ShouldAuthenticateRequest for app configurations 2016-02-16 14:51:15 +01:00
Shannon 51bbf7ceb5 U4-7494 Installation Fails for 7.3.3 - Intermittent - Value cannot be null. Parameter name: sqlSyntax 2016-02-16 14:22:59 +01:00
Shannon 93d9f09fcc U4-7953 Creating Templates via new DocType have camelCased aliases, but from the Template section have PascalCase aliases 2016-02-16 14:20:29 +01:00
Sebastiaan Janssen 42a68cb770 U4-7494 Installation Fails for 7.3.3 - Intermittent - Value cannot be null. Parameter name: sqlSyntax 2016-02-16 14:00:28 +01:00
Shannon 1c2dec00fc bumps version 2016-02-16 13:32:03 +01:00
Shannon fcea4c7fdd Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-16 13:30:21 +01:00
Shannon b6ef4bf6b5 Merge branch '7.3.8' into dev-v7
Conflicts:
	build/UmbracoVersion.txt
	src/SolutionInfo.cs
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2016-02-16 13:29:59 +01:00
Shannon 82297a6ff1 U4-7929 Label datatype strips leading zeros 2016-02-16 13:23:37 +01:00
Warren Buckley 3bf79f0a23 Merge pull request #1102 from umbraco/temp-U4-7837
Fixes: U4-7837 Changing document type should refresh the current node
2016-02-16 12:22:56 +00:00
Shannon 3f5aa3aa2b U4-7954 Error upgrading database to 7.4.0 - [ FK_cmsPropertyTypeGroup_cmsPropertyTypeGroup_id ] doesn't exist 2016-02-16 12:17:21 +01:00
Shannon cc5ac1a84c bumps version 2016-02-16 11:57:10 +01:00
Shannon 6373add383 U4-7922 Preview is not working 2016-02-16 11:53:54 +01:00
Shannon 180099b718 U4-7890 XSLT Macro's not working - "Cannot use this obsoleted overload when the current provider" 2016-02-16 11:52:16 +01:00
Shannon 65f15125e1 U4-7939 - fix routes cache 2016-02-16 11:48:09 +01:00
Shannon f026201c68 fixes wrong constant used 2016-02-16 11:35:38 +01:00
Shannon 640b2c0ee0 Moves strings to constants, adds ControllerContextExtensions to get the UmbracoContext from the hierarchy of ControllerContext's, changes RenderModelBinder to use this method to get the UmbracoContext, changes UmbracoViewPageOfTModel to use this method to get the UmbracoContext, adds RouteDataExtensions to get the UmbracoContext from routedata, adds extension methods on the HttpContext to get the UmbracoContext from it. 2016-02-16 11:17:47 +01:00
Shannon Deminick bef7ad1196 Merge pull request #1120 from lars-erik/fix-silly-long-grid-translation
Grid translations
2016-02-16 10:12:02 +01:00
Shannon Deminick 33c6c8b473 Merge pull request #1121 from umbraco/temp-U4-7950
Fixes another reported bug for U4-7950
2016-02-16 10:05:09 +01:00
Sebastiaan Janssen 0a26e482aa Fixes another reported bug for U4-7950 2016-02-16 09:01:28 +01:00
Lars-Erik Aabech d0de54e2d3 Grid translations:
Fixed a silly long translation of "Add content".
Added missing keys.
Fixed a few spelling mistakes.
2016-02-16 08:50:07 +01:00
Stephan cbdabaa3b1 Merge pull request #1118 from umbraco/temp-U4-7950
Use CultureInfo.CurrentCulture if UmbracoContext.PublishedContentRequ…
2016-02-15 15:21:00 +01:00
John Churchley 65c97040b3 Fix Chrome issue listview columns not evenly spaced
http://issues.umbraco.org/issue/U4-7963#
2016-02-15 12:17:13 +00:00
Simon Busborg a33d7da211 Fixes: U4-7945 Grid's Reorder bar covers content
http://issues.umbraco.org/issue/U4-7945
2016-02-15 12:55:44 +01:00
Sebastiaan Janssen f31b6d9c2c Use CultureInfo.CurrentCulture if UmbracoContext.PublishedContentRequest is not available 2016-02-15 08:27:07 +01:00
Sebastiaan Janssen 367c945b42 Merge pull request #1117 from s-moon/patch-1
Minor text changes.
2016-02-14 11:08:19 +01:00
Stephen Moon b962fcdbc3 Minor text changes. 2016-02-13 21:31:13 +00:00
Simon Busborg 0f8a13d60a 7 in a row instead of 8, bumped font-size on icons to 30 2016-02-12 10:17:42 +01:00
Simon Busborg 5c1502c806 Removes umb-control-group when no icons displayed 2016-02-12 10:13:30 +01:00
Simon Busborg 3cdebf4427 Fixes U4-7918 Make icon picker for document type and list views consistent 2016-02-12 09:38:37 +01:00
Shannon e4e7c18460 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-11 18:07:42 +01:00
Shannon 5f246c533c Fixes issue when there are zero instructions in the db table and we've never synced before, in this case it will always cold boot because it will never saved the last synced, in this scenario also the indexes will not build because we've cleared the collection before they can run. 2016-02-11 18:07:31 +01:00
Sebastiaan Janssen 5323543ec0 Merge pull request #1115 from abryukhov/patch-3
Update UI language ru.xml
2016-02-11 17:36:28 +01:00
Shannon d44542694b Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-11 17:31:49 +01:00
Shannon 016a14e5c7 Fixes the image cropper where if you don't have any crops, save an image to a content item, then when you go create a new crop in the data type it wouldn't show up on the front-end or in the back office. 2016-02-11 17:31:37 +01:00
Alexander Bryukhov 52f4dfec80 Update UI language ru.xml
According new keys added to the 7.4.0 nightly build 164 (models builder keys)
2016-02-11 22:29:33 +06:00
Sebastiaan Janssen 4f6e023d77 Make sure that everybody working on the source actually gets these assembly references in web.config 2016-02-11 17:11:02 +01:00
Shannon 5e46750cc4 nuspec and version 2016-02-11 16:34:15 +01:00
Shannon d028b133f5 nuspec updated with MB 2016-02-11 16:27:58 +01:00
Shannon ca6821104b updated to MB 3.0.0 final 2016-02-11 16:26:21 +01:00
Shannon 1ea8c8280c Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-11 15:54:10 +01:00
Shannon 17ff952b52 Fixes the URL creating for media in the back office to use an IMedia instead of published media (since it's not published yet at the time) 2016-02-11 15:54:00 +01:00
Sebastiaan Janssen b4f64975a2 Merge pull request #1113 from umbraco/temp-U4-7936
U4-7936 Clicking the Recycle Bin shows "Session expired" login screen
2016-02-11 15:48:24 +01:00
Sebastiaan Janssen 1d8a5cf795 Merge pull request #1114 from umbraco/temp-u4-7729
U4-7729 7.4.0-Beta Cannot drag and Drop PDF on Media Section
2016-02-11 15:34:41 +01:00
Shannon dccee93700 fixes up some null checks and fixes up some string null checks - casting XElement to (string) explicitly avoids null reference exceptions when the XElement isn't actually present. 2016-02-11 15:11:11 +01:00
Per Ploug efeafb4471 U4-7729 7.4.0-Beta Cannot drag and Drop PDF on Media Section 2016-02-11 14:42:47 +01:00
Shannon Deminick 496efde5b3 Merge pull request #1093 from jonrandahl/patch-1
Update PackagingService.cs
2016-02-11 14:18:23 +01:00
Shannon Deminick 2b56854652 Merge pull request #1112 from umbraco/temp-U4-7939
U4-7939 - fix routes cache
2016-02-11 14:15:13 +01:00
Shannon 04e1d8c2bd U4-7936 Clicking the Recycle Bin shows "Session expired" login screen 2016-02-11 14:04:14 +01:00
Simon Busborg c7a7dd6ed5 Fixed disabled buttons 2016-02-11 13:12:13 +01:00
Sebastiaan Janssen 1eedbba97a Merge pull request #920 from darrenferguson/dev-v7
change the text "Reload nodes" to just "Reload" my editors don't know…
2016-02-11 12:04:45 +01:00
Stephan d6b46e7e78 U4-7939 - fix routes cache 2016-02-11 11:53:03 +01:00
Shannon 1b03a8f06c Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-11 11:51:11 +01:00
Shannon 726bef1edf adds notes 2016-02-11 11:50:59 +01:00
Sebastiaan Janssen 33aa04bb2f Updates ImageProcessor.Web 2016-02-11 10:35:52 +01:00
Rune Hem Strand a79333080a Merge pull request #1111 from umbraco/U4-7933
Fixes issue U4-7933
2016-02-11 09:49:09 +01:00
Sebastiaan Janssen d1f513df69 Updates ImageProcessor 2016-02-10 17:09:40 +01:00
Shannon 54ddbc264d Fixes U4-7906 2016-02-10 16:39:05 +01:00
Shannon 89f6089f8e U4-7873 - fix GetCulture issue with languages 2016-02-10 16:22:06 +01:00
Shannon Deminick cf0b72fd77 Merge pull request #1026 from christofur/U4-7763
U4-7763 Fix - added mock and references required for 'dev' Grunt task
2016-02-10 15:54:59 +01:00
Niels Hartvig 2c32530701 Too fast, removed the extra amp 2016-02-10 15:47:52 +01:00
Niels Hartvig d6d945a96e Adds animationprocessmode=false to avoid issues with anim gifs 2016-02-10 15:46:18 +01:00
Shannon Deminick 4b6aee7fd9 Merge pull request #1109 from abryukhov/patch-3
Update UI language ru.xml
2016-02-10 15:44:42 +01:00
Niels Hartvig 8bbeeb2eaf Fixes issue 7933 2016-02-10 15:38:49 +01:00
Shannon Deminick 5648617809 Merge pull request #1098 from umbraco/temp-U4-7891
U4-7891 Image Cropper needs a property value converter to return a strongly typed model, json or a string when requested.
2016-02-10 15:32:55 +01:00
Shannon 0a33b37f2d Fixes issue with U4-7695 and not merging crop values with pre-values properly 2016-02-10 15:31:04 +01:00
Sebastiaan Janssen 157bf0d1eb Include modelsbuilder App_Plugins files in csproj so that the build actually includes them 2016-02-10 14:57:41 +01:00
Shannon 2721c5cb12 adds dynamic caseinsensitive support for the image cropper model 2016-02-10 14:54:00 +01:00
Shannon fd984bd613 Ensures media.Url works properly 2016-02-10 14:53:58 +01:00
Shannon fe0ed2ceea Adds some notes and ensures that the ImageCropperValueConverter shadows the correct one. 2016-02-10 14:53:57 +01:00
Shannon 0829bae5b2 Fixes TextStringValueConverter to include the text box and multi-textbox (since it's like that in the Core one that this overrides), adds new converter for Image cropper including ToString converter & custom type converter to convert from the strongly typed object to JObject, adds test to support this, adds equatable methods for the strongly typed model so it can be easily compared. Ensures that the webboot manager does not include the core value converter for image cropper. 2016-02-10 14:53:56 +01:00
Stephan c3c1567c2e Merge pull request #1100 from umbraco/temp-U4-7881
U4-7881 - fix errors with compositions
2016-02-10 14:53:45 +01:00
Shannon 4a8b59bdfa putting back in ContentTypeId on PropertyTypeDisplay, turns out this IS used when we remove a composition, we need to know which properties are related to which type. have also fixed another potential bug regarding compositions + generic properties, before we were not setting the ContentTypeId correct for a composition property type on the generic properties tab. 2016-02-10 14:34:33 +01:00
Shannon af543c56ec moves model to correct namespace 2016-02-10 13:31:36 +01:00
Claus 4113def0b6 Fixes: U4-7881 version 7.4 beta - cannot add composition doctype to a doctype that has already been saved 2016-02-10 13:08:36 +01:00
Shannon Deminick c346e62176 Merge pull request #1108 from umbraco/temp-U4-7799
Fixes: U4-7799 ModelsBuilder button in Content Type Editor should sav…
2016-02-10 13:05:38 +01:00
Sebastiaan Janssen 94fdbb1983 U4-7669 Update Newtonsoft.Json dependency to v8.0.1 from v6.0.5 2016-02-10 13:04:50 +01:00
Shannon f32e688c1a Fixes the MB re-generate button - this will only be shown when the models are out of date. 2016-02-10 13:04:04 +01:00
Mads Rasmussen 0303196f42 show Ulog error message when models builder fails 2016-02-10 11:47:01 +01:00
Mads Rasmussen c8faf17017 Fixes: U4-7799 ModelsBuilder button in Content Type Editor should save the current content type 2016-02-10 11:47:00 +01:00
Sebastiaan Janssen b2cba310b9 U4-7720 Media grid doesn't display preview for animated gif
In preparation of an updated ImageProcessor build, everything that displays animated gifs in the backoffice can run into this issue, so we show the first frame only everywhere (better than just a broken image)
2016-02-10 11:39:00 +01:00
Sebastiaan Janssen 95522afda8 Merge pull request #1110 from umbraco/temp-U4-7925
U4-7925 Add dependency injection to Umbraco.Web.Trees.TreeController*
2016-02-10 10:57:15 +01:00
Shannon 1b84e33392 reinstall the RC2 version 2016-02-10 10:43:41 +01:00
Shannon 065ed5ed78 updates nuspec 2016-02-10 10:28:57 +01:00
Shannon 9e931b84db U4-7925 Add dependency injection to Umbraco.Web.Trees.TreeController* 2016-02-10 10:26:09 +01:00
Shannon be449a96f7 updates to MB rc2 2016-02-10 10:26:08 +01:00
Alexander Bryukhov a22bfb927a Update UI language ru.xml
According new keys added to the 7.4.0 nightly build 162
2016-02-09 22:18:11 +06:00
Sebastiaan Janssen 5b92b30f64 Don't include the uninstall file in nuspec, it's missing so the package won't build 2016-02-09 17:16:04 +01:00
Sebastiaan Janssen 5e8200ecb2 U4-7909 7.4-rc1 is missing references because it's using portable class libraries now
#U4-7909 Fixed
2016-02-09 17:10:43 +01:00
Sebastiaan Janssen 9b5ea3da21 Can't have an uninstall as it runs during Update-Package, removing configuration settings like umbracoConfigurationStatus triggering the fresh install screen all user settings are also reverted :/ 2016-02-09 17:10:14 +01:00
Sebastiaan Janssen d495b96434 U4-7924 NuGet web.config transform changes targetFramework 2016-02-09 16:29:20 +01:00
Sebastiaan Janssen 79edf81434 Just whitespace, formatting document 2016-02-09 16:00:02 +01:00
Sebastiaan Janssen b3620f1ca4 U4-7924 NuGet web.config transform removes <codedom>
#U4-7924 Fixed
2016-02-09 15:39:48 +01:00
Stephan b6a9734755 Fix ModelsBuilder integration 2016-02-09 11:46:26 +01:00
Shannon c4cedaddd2 Merge remote-tracking branch 'origin/master-v7' into dev-v7 2016-02-09 11:00:57 +01:00
Shannon b5a2b3dbbd U4-7922 Preview is not working 2016-02-09 10:56:15 +01:00
Mads Rasmussen dc4266852f Fixes: U4-7915 7.4 RC1: Cannot change grid background 2016-02-09 09:57:41 +01:00
Simon Busborg 881e8daafd Merge pull request #1104 from abryukhov/patch-3
Update UI language ru.xml
2016-02-08 18:51:20 +01:00
bjarnef 5176b68935 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7-tinymce-font-icons 2016-02-08 15:07:36 +01:00
bjarnef 0bfc5f1272 Change icons in tinymce config 2016-02-08 15:07:16 +01:00
Claus 54c1d25296 Fixes: U4-6407 Change Document Type feature on a node doesn't support compositions 2016-02-08 14:39:16 +01:00
Mads Rasmussen 624d3a9b82 fixes: U4-7905 val-highlight directive not highlighting error fields (red border) in 7.4.0 2016-02-08 13:35:59 +01:00
Mads Rasmussen d46d23b372 Fixes: U4-7732 Grid changes do not trigger Unsaved Changes notification 2016-02-08 12:07:45 +01:00
Mads Rasmussen aeba68782c fixes: U4-7903 Using shortcut for "add property" removes "add property"-field for other tabs in document type editor && U4-7904 Add property using shortcut - submit button text is missing 2016-02-08 10:54:58 +01:00
Mads Rasmussen ac60c63104 Fixes: U4-7900 The new content type editor: If you hit save while it generates an alias, the alias will be generatingAlias 2016-02-08 10:20:09 +01:00
Claus 6e0e48b6e4 Merge pull request #1103 from arknu/U4-7819
U4-7819: Use correct messages when saving Media and Member types
2016-02-08 09:24:42 +01:00
Alexander Bryukhov 0ea15ae22e Update UI language ru.xml
According new / changed keys of 7.4 nightly build 161
2016-02-07 11:37:06 +06:00
Asbjørn Riis-Knudsen 54548ffc68 U4-7819: Use correct messages when saving Media and Member types 2016-02-06 17:34:36 +01:00
bjarnef 39c18d4201 Merge branch 'dev-v7' of https://github.com/bjarnef/Umbraco-CMS into dev-v7 2016-02-05 15:54:48 +01:00
Claus fdc50f0635 Merge pull request #1101 from KevinJump/dev-v7-GetContent/MediaContainer-Fix
Fix GetContentTypeContainer and GetMediaTypeContainer
2016-02-05 15:15:56 +01:00
bjarnef 66ea8ae604 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-02-05 14:55:53 +01:00
Claus 44f2a9e96f Fixes: U4-7837 Changing document type should refresh the current node 2016-02-05 14:37:01 +01:00
Kevin Jump 11743ea322 Fix GetContentTypeContainer and GetMediaTypeContainer to use correct guid
updated to use DocumentTypeContainerGuid,  MediaTypeContainerGuid
contstants in calls.
2016-02-05 13:20:10 +00:00
Simon Busborg 4d74ec7785 Makes editor types tabs accessible. 2016-02-05 11:49:41 +01:00
Sebastiaan Janssen aa704a2065 Umbraco.ModelsBuilder.AspNet.dll is no longer needed 2016-02-05 11:28:12 +01:00
Mads Rasmussen 08844ea098 close user dialog when clicking on edit, history links and logout 2016-02-05 11:08:34 +01:00
Claus 3449b1efd3 Toggle password fields after successfully changing the password. 2016-02-05 10:43:37 +01:00
Claus 00d012162f Added a bunch of missing translations in user overlay. 2016-02-05 10:38:15 +01:00
Shannon 966be0f342 updates nuspec 2016-02-04 20:28:05 +01:00
Shannon 0347a93dcf Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-04 20:23:20 +01:00
Shannon 25482f53ef updates to MB RC1 2016-02-04 20:23:11 +01:00
Sebastiaan Janssen 7e762d9114 Apparently we ship this in the zip version 2016-02-04 20:21:32 +01:00
Mads Rasmussen 82699a8ac9 Fixes: U4-7898 Validation for locked alias still not working 2016-02-04 20:08:19 +01:00
Shannon 0ea68f4f42 added logic for media and member type angular callbacks that existed for content types - assuming this is important and should be there for all content types. Added alias information to validation message returned from server. 2016-02-04 19:40:29 +01:00
Shannon 2cd4e9aa99 makes media types the same as the other content types 2016-02-04 19:26:16 +01:00
Shannon 8e3454d24f Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-04 19:17:00 +01:00
Shannon e352c65420 fixes server side validation issue for content types 2016-02-04 19:16:45 +01:00
Sebastiaan Janssen 04a12567bc Merge pull request #1090 from umbraco/temp-U4-3447
U4-3447 Nuget package does not install correctly with "Web Site" projects
2016-02-04 19:12:45 +01:00
Sebastiaan Janssen 16caeb96bd Another build warning that can be removed 2016-02-04 18:36:26 +01:00
Sebastiaan Janssen fbd5bdbd1d Surely nobody on their dev machines has the "trust" node in their web.configs any more, no more need to transform that one (gave warning during build.bat) 2016-02-04 18:35:16 +01:00
Sebastiaan Janssen e3983bb427 Depend on latest modelsbuilder 2016-02-04 18:32:21 +01:00
Sebastiaan Janssen c4389a3820 Fixes dashboard transform, works now 2016-02-04 18:32:20 +01:00
Sebastiaan Janssen 1f8274e807 These deletes still need to be there because some of these files don't get overwritten automatically for .. I don't know what reason really. 2016-02-04 18:32:20 +01:00
Shannon 9978b0d8ea Merge branch 'dev-v7' into temp-U4-3447 2016-02-04 18:30:58 +01:00
Shannon 0d9fef5457 changes to use StripWhitespace to fix tests 2016-02-04 18:09:17 +01:00
Shannon Deminick 7449e3bf1d Merge pull request #1096 from umbraco/temp-U4-7895
U4-7895 - routing fails when path contains dots
2016-02-04 17:44:39 +01:00
Shannon Deminick e6550b543d Merge pull request #1099 from robertjf/dev-v7
U4-7897 Minor update to MembershipProviderBase.DecryptPassword() to remove code smell
2016-02-04 17:38:59 +01:00
Shannon Deminick 1552a08b46 Merge pull request #1097 from umbraco/temp-U4-7887
U4-7887 - default to database connection timeout
2016-02-04 17:30:02 +01:00
Robert Foster c9d2d574f8 brought PasswordFormat switch in DecryptPassword in line with other useages. 2016-02-05 03:29:33 +11:00
Sebastiaan Janssen 4807bc4f2f Shoot, can't remove that one, else it'll also remove the "Welcome" section 2016-02-04 17:20:30 +01:00
Sebastiaan Janssen 87a2589853 Update old reference of System.Web.Mvc 2016-02-04 17:19:07 +01:00
Sebastiaan Janssen 6f400df775 The "Change password" dashboard will throw js errors if it's still there (the matching js files are not there any more) 2016-02-04 17:18:34 +01:00
Sebastiaan Janssen 68eaca6f66 Still shouldn't forget to build if you're using a web app (no need for website projects though) 2016-02-04 16:43:50 +01:00
Sebastiaan Janssen 166429cf68 Fixes the "No license field." error, see:
https://github.com/npm/npm/issues/4473#issuecomment-103453246
2016-02-04 16:10:35 +01:00
Mads Rasmussen 48adc259d9 fix content type editor property preview background in firefox 2016-02-04 15:19:20 +01:00
Stephan 42c23dadc9 U4-7887 - default to database connection timeout 2016-02-04 14:51:19 +01:00
Stephan fb9471359c U4-7895 - routing fails when path contains dots 2016-02-04 13:03:53 +01:00
Mads Rasmussen 4e0b018a8b Merge branch 'AndyButland-u4-7840' into dev-v7 2016-02-04 11:46:15 +01:00
Mads Rasmussen f94b5cc462 small fixes to U4-7840 2016-02-04 11:45:31 +01:00
Mads Rasmussen fee98f8144 Merge branch 'u4-7840' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-u4-7840 2016-02-04 11:20:30 +01:00
Shannon Deminick aa31e293ec Merge pull request #1086 from umbraco/temp-U4-7598
U4-7598 - fix migrations during 4.7 to 7.4 upgrade
2016-02-04 11:10:45 +01:00
Shannon f8045840ee Merge remote-tracking branch 'origin/master-v7' into dev-v7 2016-02-04 11:04:05 +01:00
Shannon e2985d74e5 U4-7890 XSLT Macro's not working - "Cannot use this obsoleted overload when the current provider" 2016-02-04 11:01:54 +01:00
Mads Rasmussen 7d15b26a8f Fixes: U4-7818 Moved Document Type Reverts to Prior Location on Save 2016-02-04 10:41:06 +01:00
Rune Strand a77ebb1160 Add max resolution for the Image editor in Grid Layouts to avoid performance hit when using high res images. 2016-02-04 10:25:01 +01:00
Claus 6a1e54b221 Fixes: U4-7691 - refactor 2016-02-03 15:39:18 +01:00
Shannon Deminick 864ca4e40e Merge pull request #1094 from umbraco/temp-U4-7691
Fixes: U4-7691 7.4 beta - Document composition is not working with me…
2016-02-03 15:26:43 +01:00
Claus 24d42e6bd1 Fixes: U4-7691 7.4 beta - Document composition is not working with media types
Media type compositions weren't getting added since it only looked up through the content type service.
2016-02-03 15:02:44 +01:00
bjarnef 6fc794ca2e Merge branch 'dev-v7' of https://github.com/bjarnef/Umbraco-CMS into dev-v7 2016-02-03 14:42:14 +01:00
Jon R. Humphrey 8b4d34a1e8 Update PackagingService.cs
I've made the changes to the code after running into the "sequence contains no matching element" error in my Starter Kit package install. We knew that there were no calls to .First()., .Last(), or .Single() in our code based on search results and checking for this call, however we were able to deduce that the issue was that we were including a new ImageCropper DataType without values based on Jeavon's [example:] [https://umbraco.com/follow-us/blog-archive/2014/5/30/developing-a-website-with-responsive-images-using-the-umbraco-v714-image-cropper/]

I know it's a simple fix but if it helps anyone else not run into the same thing then that's perfect!

Thank you for all your hard work on Umbraco, maybe someday I can do more!
2016-02-03 13:21:36 +00:00
Shannon 65c3f8c513 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-03 14:16:38 +01:00
Shannon 1d326a76a3 fixes tab replace 2016-02-03 14:16:24 +01:00
Mads Rasmussen 625f976f14 Merge pull request #1088 from bjarnef/dev-v7-U4-6121
U4-6121 - Sorting in Related Links was not working correctly
2016-02-03 14:01:31 +01:00
Shannon 67c3ea7c00 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-03 13:44:03 +01:00
Shannon 797eb34f36 Fixes merge issues and tests 2016-02-03 13:43:51 +01:00
Mads Rasmussen 5f2150ddf7 remove word-break from meta because it hides property alias 2016-02-03 13:28:23 +01:00
Claus c4981b50e5 Merge pull request #1092 from umbraco/temp-U4-7744
Fixes: U4-7744 Better validation message when Reordering tabs
2016-02-03 13:21:47 +01:00
Simon Busborg 00a7c97c5e Fixed background and word-break in member type builder 2016-02-03 13:13:56 +01:00
Simon Busborg eb7fa9528a Merge pull request #1081 from umbraco/temp-U4-7675
Fixes: U4-7675 Changing doc type icon doesn't set dirty property for form
2016-02-03 12:55:12 +01:00
Claus 27d2b631a9 Merge pull request #1080 from umbraco/temp-U4-7871
Fixes: U4-7871 Media picker - add functionality to go to media item w…
2016-02-03 12:51:08 +01:00
Claus bf1086ca39 Merge pull request #1089 from umbraco/temp-U4-7884
Fixes: U4-7884 Prevent new content type editor form from saving when hitting enter from inputs
2016-02-03 12:44:55 +01:00
Shannon e423864781 Merge remote-tracking branch 'origin/master-v7' into dev-v7
Conflicts:
	build/UmbracoVersion.txt
	src/SolutionInfo.cs
	src/Umbraco.Core/Cache/FullDataSetRepositoryCachePolicy.cs
	src/Umbraco.Core/Cache/FullDataSetRepositoryCachePolicyFactory.cs
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
	src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/PublicAccessRepository.cs
	src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/Cache/FullDataSetCachePolicyTests.cs
	src/Umbraco.Web.UI.Client/src/common/directives/components/grid/grid.rte.directive.js
	src/Umbraco.Web.UI.Client/src/less/hacks.less
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/WebBootManager.cs
2016-02-03 12:30:11 +01:00
Shannon aed4649ff5 changes version to RC1 2016-02-03 12:16:07 +01:00
Shannon Deminick 36119848e7 Merge pull request #1085 from umbraco/temp-U4-7861
U4-7861 - fix moving a content type
2016-02-03 12:13:31 +01:00
Shannon Deminick 8080746004 Merge pull request #1091 from umbraco/temp-U4-7885
U4-7885 - fix YSOD when saving a member type
2016-02-03 11:59:24 +01:00
Mads Rasmussen edaa335b18 Fixes: U4-7744 Better validation message when Reordering tabs 2016-02-03 11:55:19 +01:00
Simon Busborg ae9fba87b5 Removed white background from member types builder 2016-02-03 11:46:33 +01:00
Claus 076efad616 Merge pull request #1084 from umbraco/temp-U4-7713
U4-7713 - fix CountPublished
2016-02-03 11:45:15 +01:00
Stephan df3aaf43d3 U4-7885 - fix YSOD when saving a member type 2016-02-03 11:33:34 +01:00
Shannon Deminick 75fe61f134 Removes TEMP removal
This can cause issues if the site is running
2016-02-03 11:30:06 +01:00
Shannon 5d5c6ed33a fixes ysod with media types and member types 2016-02-03 11:21:01 +01:00
Shannon d01bd5bd40 adjust install/uninstall 2016-02-03 11:07:20 +01:00
Shannon 03f88b3866 fixes uninstall 2016-02-03 11:05:27 +01:00
Shannon 78c2708116 U4-3447 Nuget package does not install correctly with "Web Site" projects 2016-02-03 10:39:53 +01:00
Mads Rasmussen e22c6d9c04 fix member types html indention 2016-02-03 10:16:39 +01:00
Shannon 08e9579481 U4-7863 Remove Nuget requirement: Microsoft.Net.Http - this is not used, nor is it required (it also installs a bunch of other packages we don't need) 2016-02-03 10:14:53 +01:00
Mads Rasmussen 61ba602b4b prevent enter submit in member types 2016-02-03 10:05:01 +01:00
Mads Rasmussen bd393dffd4 fix media types html indention 2016-02-03 09:59:08 +01:00
Mads Rasmussen 573890b7ce prevent enter submit in media types 2016-02-03 09:56:14 +01:00
Mads Rasmussen 7d4fbe4267 fix document type html indention 2016-02-03 09:50:59 +01:00
Mads Rasmussen cb978e2fee prevent enter submit in document type editor 2016-02-03 09:44:10 +01:00
bjarnef 4e75575b40 Sorting was not working correctly 2016-02-03 03:38:53 +01:00
bjarnef d7174146e3 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-02-03 03:04:48 +01:00
Stephan 325f92f6ca U4-7598 - fix migrations during 4.7 to 7.4 upgrade 2016-02-02 18:53:08 +01:00
Shannon 856c345905 Merge branch '7.3.7' of https://github.com/umbraco/Umbraco-CMS into 7.3.7 2016-02-02 18:01:56 +01:00
Shannon b2cd5dfb85 adds null check to session id - might not exist in old cookies 2016-02-02 18:01:36 +01:00
Sebastiaan Janssen 462f7a59b5 Merge pull request #1078 from dawoe/U4-7872
Use product name in migration runner instead of Umbraco productname
2016-02-02 17:06:56 +01:00
Shannon 22689d24ec changes port 2016-02-02 17:05:21 +01:00
Shannon Deminick ee303957b8 Merge pull request #1078 from dawoe/U4-7872
Use product name in migration runner instead of Umbraco productname
2016-02-02 17:04:45 +01:00
Shannon 4055afdf05 Merge branch '7.3.7' of https://github.com/umbraco/Umbraco-CMS into 7.3.7 2016-02-02 16:52:08 +01:00
Shannon a1c70a219a ensures correct sort order for content type queries + test 2016-02-02 16:51:57 +01:00
Stephan 3f23b06e24 U4-7861 - fix moving a content type 2016-02-02 16:40:01 +01:00
Sebastiaan Janssen 3151515855 U4-7072 Grid TinyMce with style_formats throws "Cannot assign to read only property 'name' 2016-02-02 16:09:02 +01:00
Shannon 25df9da715 bumps Version 2016-02-02 16:00:28 +01:00
Shannon 9c2f438476 fixes tests 2016-02-02 15:43:44 +01:00
Simon Busborg a763602aeb Fixes: U4-7072 Grid TinyMce with style_formats throws "Cannot assign to read only property 'name' 2016-02-02 15:38:12 +01:00
Shannon 0de3be42cf U4-7869 Examine & SQL Azure - Timeouts - ensure the other reader is executed with retry. 2016-02-02 15:33:22 +01:00
Shannon 1545e0eed7 Merge branch '7.3.7' of https://github.com/umbraco/Umbraco-CMS into 7.3.7 2016-02-02 15:14:56 +01:00
Shannon 42a7ed6877 U4-7821 KeepUserLoggedIn with a long umbracoTimeOutInMinutes has logout issues 2016-02-02 15:14:47 +01:00
Sebastiaan Janssen 98b8aedc4d U4-7849 Unclear error message when applying public access 2016-02-02 15:13:57 +01:00
Simon Busborg 4812f1d603 Fixes: U4-7725 Backend / Full witdth image / Settings / Set a background image - Is out of focus. 2016-02-02 15:11:50 +01:00
Rune Strand 137de20cef Remove gradient from btnDanger 2016-02-02 14:30:57 +01:00
Rune Hem Strand 8ce8199820 Merge pull request #1072 from umbraco/temp-U4-7851
fixes U4-7851 Grid layout RTE formats not being applied.
2016-02-02 14:14:10 +01:00
Simon Busborg bb52467f90 Fixes: U4-7703 TinyMCE - can't add additional css via custom config (v7.3.4)
http://issues.umbraco.org/issue/U4-7703
2016-02-02 14:08:12 +01:00
Stephan 8791f7ee97 U4-7713 - fix CountPublished 2016-02-02 13:52:55 +01:00
Rune Strand e9af8bfee1 click in grid RTE format dropdown no longer looses focus from the editor 2016-02-02 13:37:52 +01:00
Shannon c7a2b54d1c Merge branch '7.3.7' of https://github.com/umbraco/Umbraco-CMS into 7.3.7 2016-02-02 12:13:03 +01:00
Shannon 6583ff4439 U4-7821 KeepUserLoggedIn with a long umbracoTimeOutInMinutes has logout issues 2016-02-02 12:12:51 +01:00
Sebastiaan Janssen 7b08b3e936 Merged branch 7.3.7 into 7.3.7 2016-02-02 11:55:40 +01:00
Sebastiaan Janssen bd2fc71dc5 U4-7276 When creating folders in the "Partials" view folder a YSOD appears (Umbraco 7.3 and 7.4) 2016-02-02 11:55:24 +01:00
Mads Rasmussen 4360d49531 fix file indention 2016-02-02 11:42:36 +01:00
Mads Rasmussen ae26a19d4a Fixes: U4-7675 Changing doc type icon doesn't set dirty property for form 2016-02-02 11:41:52 +01:00
Shannon 0af97f63e2 U4-7857 Flexible Load Balancing does not sync with the correct timeout threshold 2016-02-02 11:11:47 +01:00
Rune Strand da732359af Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-02-02 10:18:36 +01:00
Rune Strand c659e1ff8f Adds button states for hover, focus and active 2016-02-02 10:15:57 +01:00
Simon Busborg fd92884ce5 Merge pull request #1075 from webprofijt/U4-7687
Fixes: U4-7687 Create dialog briefly shows 'no allowed document types…
2016-02-02 08:54:50 +01:00
Shannon 1db635f24c Updates DeepCloneableList to support behaviors, for the FullDataSetCachePolicy we only want to clone when writing to cache, not when reading, the cloning will then be done on individual items after filtering by the FullDataSetRepositoryCachePolicy 2016-02-02 01:32:36 +01:00
Shannon 6e27b3d6d4 Fixes up the FullDataSetRepositoryCachePolicy to handle individual items, updates and removes correctly, splits up it's logic so it's not overriding the DefaultRepositoryCachePolicy since that is just different. Adds tests. 2016-02-02 00:47:18 +01:00
Shannon 1dea0edcf1 re-includes the static cache for published property types, this cache is much more than a simple cache of content type infos, it is also the cache for associated converters which is required for all front-end rendering. Fixes the issue of not setting the xpath cache level corectly. 2016-02-01 22:50:38 +01:00
Shannon 1abab41955 Fixes perf issue with DeepCloneHelper - so we cache the actual property types instead of re-reflecting each time 2016-02-01 21:45:34 +01:00
Mads Rasmussen b22ae28acc Fixes: U4-7871 Media picker - add functionality to go to media item when an image has been picked 2016-02-01 18:24:30 +01:00
Claus 2718d895fa Merge pull request #1079 from umbraco/temp-U4-7832
Fixes: U4-7832 double data bindings
2016-02-01 15:31:53 +01:00
Mads Rasmussen f4e6913e6e Fixes: U4-7832 double data bindings 2016-02-01 15:14:38 +01:00
Dave Woestenborghs 647fbea066 Use product name in migration runner instead of Umbraco productname
Fixes http://issues.umbraco.org/issue/U4-7872
2016-02-01 11:48:32 +01:00
Sebastiaan Janssen b69bd8617f Merged branch dev-v7 into dev-v7 2016-02-01 09:28:31 +01:00
Sebastiaan Janssen 924d2a0d88 U4-7669 Update Newtonsoft.Json dependency to v8.0.1 from v6.0.5
#U4-7669 Fixed
2016-02-01 09:28:20 +01:00
Claus 17fdc7d246 Merge pull request #1077 from abryukhov/patch-3
Update UI language ru.xml
2016-01-31 12:26:12 +01:00
Alexander Bryukhov 10fc60def3 Update UI language ru.xml
Based on keys added in 7.4 nightly build 155
2016-01-31 12:05:07 +06:00
AndyButland 1362df8e64 Provided means of setting which bulk actions are allowed on list views; only enable selection of multiple items in list view if at least one bulk action is available 2016-01-30 20:48:21 +01:00
Arnoud de Vries b6962296c3 Fixes: U4-7687 Create dialog briefly shows 'no allowed document types' text 2016-01-30 15:51:17 +01:00
Shannon cf022ca6a4 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-28 19:35:20 +01:00
Shannon e2bf27e53f U4-7857 Flexible Load Balancing does not sync with the correct timeout threshold 2016-01-28 19:35:11 +01:00
Shannon d1be38be64 reverts profiler changes, we'll inlcude in 7.4 2016-01-28 18:37:56 +01:00
Shannon 8916c68a0c reverts profiler changes, we'll inlcude in 7.4 2016-01-28 18:35:29 +01:00
Shannon 6faa7e2fc9 dont' have RebuildOnAppStart set for dev purposes! 2016-01-28 18:31:47 +01:00
Claus db6f492aac Merge pull request #1056 from umbraco/temp-U4-7695
U4-7695 Media items are not updated when a new crop is added to Image…
2016-01-28 18:30:37 +01:00
Shannon a6093f41bd Fixes installer login for user and adds notes 2016-01-28 18:02:22 +01:00
Simon Busborg a1dcd2739b Merge branch 'abryukhov-patch-5' into dev-v7 2016-01-28 15:32:35 +01:00
Simon Busborg ef4bb3e341 Merge branch 'patch-5' of git://github.com/abryukhov/Umbraco-CMS into abryukhov-patch-5
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/ru.xml
2016-01-28 15:29:56 +01:00
Shannon Deminick 8c90e2fd58 Merge pull request #1066 from umbraco/temp-U4-7847
Fixes: U4-7847 Do not allow folders to be created underneath content types (or data types)
2016-01-28 15:22:03 +01:00
Shannon a1156472fb Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-28 15:16:37 +01:00
Shannon d526ff43f2 Merge branch 'temp-RepoCachePerf' into dev-v7 2016-01-28 15:16:02 +01:00
Simon Busborg dc6c15e150 Merge pull request #1058 from greystate/fix-querybuilder-button
U4-7842 Query Builder "Sort by" direction button changes case when clicked
2016-01-28 15:16:01 +01:00
Claus 0bc6b600a5 Merge pull request #1073 from umbraco/temp-U4-7806
Fixes: U4-7806 Possible to interactive with property editor "preview"…
2016-01-28 15:10:54 +01:00
Simon Busborg fb4cf18873 Merge pull request #1053 from abryukhov/patch-7
Latest update UI language ru.xml
2016-01-28 15:03:59 +01:00
Simon Busborg edd47814ee Merge pull request #1042 from abryukhov/patch-6
Update UI language ru.xml
2016-01-28 15:02:14 +01:00
Stephan 107e66e4da Merge pull request #1071 from umbraco/temp-U4-7682
U4-7682 Add option to DatabaseServerMessengerOptions to force a Cold …
2016-01-28 14:33:02 +01:00
Simon Busborg ec0a9493e2 removed whitespace issue 2016-01-28 14:25:40 +01:00
Mads Rasmussen 549a8380c3 Fixes: U4-7806 Possible to interactive with property editor "preview" in document type editor 2016-01-28 14:23:53 +01:00
Simon Busborg e0ba030b1f fixes U4-7851 Grid layout RTE formats not being applied. 2016-01-28 14:19:46 +01:00
Shannon 256849f8a6 adds nicer profiling during startup for app event handlers. 2016-01-28 14:19:38 +01:00
Stephan c9c451be65 U4-7682 Minor review adjustments 2016-01-28 14:19:32 +01:00
Shannon 1fcea083e7 Ensures no profiling occurs when not in debug mode 2016-01-28 14:10:13 +01:00
Shannon 85d6ee5713 Merge branch '7.3.6' of https://github.com/umbraco/Umbraco-CMS into 7.3.6 2016-01-28 13:50:55 +01:00
Shannon ec81583741 Fixes case sensitive matching on alias in TemplateRepository 2016-01-28 13:50:45 +01:00
Sebastiaan Janssen 332da9bf2d Merge pull request #1070 from umbraco/temp-RepoCachePerf736
Temp repo cache perf736
2016-01-28 12:15:24 +01:00
Shannon a0036d925e U4-7682 Add option to DatabaseServerMessengerOptions to force a Cold Boot if there are too many instructions 2016-01-28 12:14:30 +01:00
Shannon 81a99d6f7d adds null check and ensures that SetInternalRedirectPublishedContent cannot be called with a null result 2016-01-28 10:19:51 +01:00
Shannon e912238574 Saw there was another place with the incorrect case for the column name AllowedId 2016-01-28 09:32:01 +01:00
Shannon Deminick 2d17603703 Merge pull request #1068 from glennweb/dev-v7
Incorrect case for column AllowedId in select query.
2016-01-28 09:30:37 +01:00
glennweb 5d3e580cda Saw there was another place with the incorrect case for the column name AllowedId 2016-01-28 15:12:14 +10:00
glennweb 93aadc196f Fixed incorrect case property in select statement causing case sensitive database's to throw error.
https://our.umbraco.org/forum/core/general/49619-Went-wrong-in-a-moment-Invalid-column-name
2016-01-28 15:07:18 +10:00
Shannon 9a830e5de6 fixes tests 2016-01-27 19:44:36 +01:00
Shannon 5f43b360ec Merge remote-tracking branch 'origin/dev-v7' into temp-RepoCachePerf 2016-01-27 19:44:04 +01:00
Shannon 7d9ba0e36e manually backports changes from 7.4 fixes 2016-01-27 19:42:06 +01:00
Shannon 6c5e09fd84 Ensures that the main content type repositories are returning the correct result from their GetAll methods. Fixes the FullDataSetRepositoryCachePolicy to ensure that any request with Ids actually returns the result of GetAll and then filters to ensure caching is correct. 2016-01-27 19:26:08 +01:00
Shannon 5d96534678 fixes tests 2016-01-27 19:20:24 +01:00
bjarnef 5a2ebec473 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-27 18:55:38 +01:00
Shannon 0cefdcbc20 Fixes ContentTypeBaseRepository - there were several hack in place to query by GUID but this is totally irrelavent because we are caching them all so the result should be from the GetAll(), so this removes all of those hacks which greatly simplifies things. This fixes the MapContentTypes and MapMediaTypes methods - before this was looking up a collection and then recursing back to Get(int) (but we already have all of the data we need), then it was storing a lot of arrays in memory to build up an Entity when it's much faster to just iterate forward only and build up the entity. This saves 5 SQL calls on startup. 2016-01-27 18:55:10 +01:00
Shannon 02b74a5059 Fixes FullDataSetRepositoryCachePolicy so that whenever Ids are requested, it retrieves all of the items and then post filters - ensuring there's no additional trips to the database. Fixes MemberTypeRepository so that calls to PerformGet(int) are wrapping the GetAll() call. 2016-01-27 18:51:37 +01:00
Sebastiaan Janssen 2913a0f624 With only LineFeeds then...? 2016-01-27 17:15:30 +01:00
Sebastiaan Janssen 1c58360891 Another attempt at fixing unit tests 2016-01-27 15:47:37 +01:00
Shannon 49fc068b38 Merge remote-tracking branch 'origin/7.3.6' into dev-v7
Conflicts:
	build/UmbracoVersion.txt
	src/SolutionInfo.cs
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMediaTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/UmbracoContext.cs
2016-01-27 15:42:06 +01:00
Mads Rasmussen b671595608 fix tab indention 2016-01-27 15:34:15 +01:00
Mads Rasmussen 4bc51feccd fix semicolons 2016-01-27 15:31:29 +01:00
Sebastiaan Janssen 1d5696a08b Merged branch dev-v7 into dev-v7 2016-01-27 15:30:54 +01:00
Sebastiaan Janssen bd2b6e0f93 Should hopefully fix unit tests 2016-01-27 15:30:34 +01:00
Mads Rasmussen 98c65ff8f4 U4-7847 Do not allow folders to be created underneath content types (or data types) 2016-01-27 15:29:53 +01:00
Shannon 3addffbd34 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-27 15:23:10 +01:00
Shannon dbb7e3825d Fixes events for containers 2016-01-27 15:22:58 +01:00
Claus 1d1dd87d44 Merge pull request #1059 from umbraco/temp-U4-7832-U4-7772
Fixes: U4-7772 Cursor jumps when editing alias in new ContentType edi…
2016-01-27 15:12:23 +01:00
Simon Busborg 592ccd29e3 Merge pull request #1065 from umbraco/temp-U4-7846
Fixes: U4-7846 Media grid missing min-height on item + make media item sizes as attr so they can be set outside the directive
2016-01-27 15:01:24 +01:00
Shannon 0ea9ce1363 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-27 14:31:12 +01:00
Shannon cc4c7b0d88 Adds events for creating/deleting containers 2016-01-27 14:30:57 +01:00
Claus 800df325a9 Merge pull request #1063 from umbraco/temp-U4-2670
U4-2670 Add event to modify the model before being sent to render
2016-01-27 14:30:40 +01:00
Mads Rasmussen 1c04aa377c fix tab indention 2016-01-27 14:21:27 +01:00
Simon Busborg 1f1aeaf446 Merge pull request #1064 from umbraco/temp-U4-7845
Fixes: U4-7845 Show drop zone in media section + fix recycle bin for …
2016-01-27 14:19:22 +01:00
Mads Rasmussen 38e9193573 Fixes: U4-7846 Media grid missing min-height on item + make media item sizes as attr so they can be set outside the directive 2016-01-27 14:18:53 +01:00
Shannon Deminick 409d6dd71c Merge pull request #1062 from umbraco/temp-U4-7844
U4-7844 - Add support for models in controllers
2016-01-27 13:54:45 +01:00
Mads Rasmussen 9c5d5f4318 Fixes: U4-7845 Show drop zone in media section + fix recycle bin for content section + localise texts 2016-01-27 13:25:54 +01:00
Shannon e8dfa056b0 U4-2670 Add event to modify the model before being sent to render 2016-01-27 13:20:13 +01:00
Stephan 81754b37a4 Add support for models in controllers 2016-01-27 12:05:22 +01:00
bjarnef 02e5056987 Change value of vertical-align property. 2016-01-27 09:36:25 +01:00
Claus c33b488006 Ensuring we only do the base SetupNode stuff if its actually a media type and not a folder requested. 2016-01-27 09:27:56 +01:00
Mads Rasmussen 43e49b75de Add extra div to media grid to fix firefox issue in chrome 2016-01-27 09:21:58 +01:00
Simon Busborg e050090f0f Merge pull request #1061 from bjarnef/dev-v7-tinymce-config-indent
Indent of toolbar options in TinyMCE config
2016-01-27 09:15:34 +01:00
bjarnef 5e88fbfad0 Indent of toolbar options in TinyMCE config 2016-01-26 23:52:16 +01:00
Mads Rasmussen c9f71ce067 Fixes: U4-7772 Cursor jumps when editing alias in new ContentType editor + U4-7832 Editing property alias chomps 1st character 2016-01-26 21:07:15 +01:00
Chriztian Steinmeier 21190bc0c6 Change the initial wording of the sort-direction button
Keep it lowercased as that's what it actually toggles between when
clicked
2016-01-26 19:36:12 +01:00
Sebastiaan Janssen 2f8c43c689 Merge pull request #1057 from umbraco/temp-U4-7836
U4-7836 YSOD when upgrading Umbraco with error during AddUserDataClaims
2016-01-26 19:25:04 +01:00
Shannon 7a25cb52b2 updates the repository cache policies so that we aren't keeping everything in cache unnecessarily 2016-01-26 19:13:42 +01:00
Shannon 19bc97a7fd Removes the static (hack) cache for content types for creating published content 2016-01-26 18:56:29 +01:00
bjarnef df958223b0 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-26 18:17:00 +01:00
Shannon 72900ef3b3 U4-7813 Enable MiniProfiler to profiler during startup
Conflicts:
	src/Umbraco.Core/Umbraco.Core.csproj
2016-01-26 17:56:25 +01:00
Shannon 74ddd09c5d U4-7836 YSOD when upgrading Umbraco with error during AddUserDataClaims - this also ensures that no empty/null sections can be added to the user object since this is where the original exception was coming from. 2016-01-26 17:05:46 +01:00
Mads Rasmussen fd58c3b3c6 Fixes: U4-7815 List view - bug when custom list view has been created. 2016-01-26 16:09:48 +01:00
Sebastiaan Janssen e461cb92da U4-7787 Shorthand use of ?altTemplate= doesn't work
#U4-7787 Fixed
2016-01-26 16:07:44 +01:00
Shannon ba2fd96e88 U4-7695 Media items are not updated when a new crop is added to Image Cropper 2016-01-26 15:54:17 +01:00
Shannon 7cdaacf149 adds assert 2016-01-26 14:26:16 +01:00
Shannon 7cfdc81555 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-26 14:24:18 +01:00
Shannon aeb6babad0 fixes template unit tests 2016-01-26 14:24:07 +01:00
Simon Busborg 24f38e0c0e Fixed illustration width in safari 2016-01-26 14:18:07 +01:00
Simon Busborg 8cb9d6858e U4-7722 Show checkmark when hover image in media grid 2016-01-26 14:18:06 +01:00
Claus 17629ea1b5 Merge pull request #1055 from umbraco/temp-U4-7698
Ensures that all property data is deleted for a doc type when it is b…
2016-01-26 14:13:46 +01:00
Shannon 779e7d7667 fixes ContentTypeRepositoryTest 2016-01-26 13:46:55 +01:00
Shannon 7117c6f085 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-26 13:44:05 +01:00
Shannon ba9ebd394b fixes MediaTypeRepositoryTest's 2016-01-26 13:43:56 +01:00
Simon Busborg 3ed340bde1 Fixes weird skew in media grid 2016-01-26 13:29:39 +01:00
Shannon 7d616cf937 Ensures that all property data is deleted for a doc type when it is being deleted, updates the ChangeDocType to not use the legacy EnsuredPage, updates the non-legacy EnsuredPage.ClientTools to support the legacy logic. 2016-01-26 12:13:53 +01:00
Mads Rasmussen fa1c227136 U4-7724 Click on remove file(s) link, on an item in the media section, doesn't set dirty for form 2016-01-26 12:01:04 +01:00
bjarnef 738f24d6c9 Hide search input behind split slider
Ensure search input is covered by the split slider, when it is dragged
all the way to the left similar to how tree nodes is covered.
2016-01-26 11:38:04 +01:00
Shannon c33ad3eed7 U4-7825 Remove Microsoft.AspNet.WebHelpers and Microsoft.AspNet.WebPages.Data dependencies from nuget 2016-01-26 11:31:35 +01:00
Shannon Deminick 3e5050ee9a Merge pull request #1054 from umbraco/temp-U4-7701
Fixes: U4-7701 Unable to Delete Member in Member Section
2016-01-26 11:26:33 +01:00
Shannon Deminick 7dce1ee39a Merge pull request #1052 from umbraco/temp-U4-7642
U4-7642 - bugfix aggressive refactoring
2016-01-26 11:11:33 +01:00
Mads Rasmussen f30c05b37f add/remove semicolons 2016-01-26 10:47:36 +01:00
Mads Rasmussen 7fce8583c8 Fixes: U4-7701 Unable to Delete Member in Member Section 2016-01-26 10:34:31 +01:00
Alexander Bryukhov 3a17dd06d8 Latest update UI language ru.xml
Only two new keys in the "sort" section translated. For full merged ru.xml file merge there are two more PRs (#1042 & #983)
2016-01-26 12:44:39 +06:00
Stephan 9d10362e7a U4-7642 - bugfix aggressive refactoring 2016-01-25 18:17:48 +01:00
Shannon 3712a80031 fixes composition check in change doc type 2016-01-25 16:43:20 +01:00
Shannon Deminick 930bada737 Merge pull request #1043 from umbraco/temp-U4-7716
U4-7716 Content type editor - YSOD when adding a property with the sa…
2016-01-25 16:08:07 +01:00
Shannon 95eb5f88f3 fixes merge issues 2016-01-25 16:07:57 +01:00
Shannon 56f0d67639 Merge branch 'dev-v7' into temp-U4-7716
Conflicts:
	src/Umbraco.Web/Editors/ContentTypeControllerBase.cs
2016-01-25 15:54:50 +01:00
bjarnef 0be5c31d4a Adjust styling for sort table + localize 2016-01-25 15:31:07 +01:00
Simon Busborg ca03967662 U4-7644 Misleading description of choosing package file
has to have correction
2016-01-25 15:24:11 +01:00
Simon Busborg 91413c2a89 U4-7644 Misleading description of choosing package file
I'm not a multi language talent, so I've taken the liberty only to correct the danish and english version. since `.umb`doesn't exists anymore, I've deleted that extension from the sentence.
2016-01-25 15:18:26 +01:00
Claus bd109d3700 Merge branch 'bjarnef-dev-v7-resizable-handle-border' into dev-v7 2016-01-25 15:10:29 +01:00
bjarnef d9de5e5f29 Remove top and bottom border for resizable handle 2016-01-25 15:09:50 +01:00
Claus 63635ec9fb Merge branch 'cyfer13-dev-v7' into dev-v7
Edited: No need to convert to string before passing on the value.
2016-01-25 14:11:00 +01:00
Claus d32380294a Merge branch 'dev-v7' of https://github.com/cyfer13/Umbraco-CMS into cyfer13-dev-v7 2016-01-25 13:53:01 +01:00
Shannon 8ea6f1168e Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-25 12:26:53 +01:00
Shannon 7595da7645 adds a null check 2016-01-25 12:26:11 +01:00
Mads Rasmussen f33af2930e Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-25 12:18:29 +01:00
Mads Rasmussen 08cfececd9 Fixes: U4-7824 Remove media section dropzone and folders in recycle bin 2016-01-25 12:17:26 +01:00
Shannon 1aab6c217f Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-25 12:11:10 +01:00
Shannon 396194ae01 bumps MB nuget version 2016-01-25 12:10:40 +01:00
Mads Rasmussen baea34b6a4 Merge pull request #1051 from umbraco/temp-U4-7820
Fixes: U4-7820 List view card layout can not go to item
2016-01-25 11:32:27 +01:00
Shannon Deminick 742ee57835 Merge pull request #1049 from umbraco/temp-U4-7700
Fixes: U4-7700 7.4 beta Backoffice Routing problem for Custom Sections or Installed Packages with a custom section
2016-01-25 11:19:46 +01:00
Shannon 2e4941053c more null checks 2016-01-25 11:19:18 +01:00
Shannon 1118d95773 added a null check 2016-01-25 11:14:06 +01:00
Mads Rasmussen e91b53e66d back ported: https://github.com/Umbraco/Umbraco-CMS/commit/2d0f198f58071f5113d5c3437f10f2b85220c348 2016-01-25 11:09:20 +01:00
Mads Rasmussen f981fe60ff Fixes: U4-7820 List view card layout can not go to item 2016-01-25 10:30:13 +01:00
bjarnef 1217d9f0b3 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-24 23:25:29 +01:00
Claus bbb187f2c8 Merge pull request #1044 from umbraco/temp-U4-7783
U4-7783 Member can edit / show on profile don't exist any more in 7.4.0
2016-01-24 22:19:01 +01:00
Claus 10617d1bd5 Agree, these should not be needed - removing. 2016-01-24 22:18:18 +01:00
Claus 7ac1c8ab6f forgot a few console.log's. 2016-01-24 15:43:43 +01:00
Claus 4372c9df40 remove refs. 2016-01-24 15:40:23 +01:00
Claus c4e8e20f02 Reverted to only update exactly what is needed for this to work.
Switched away from ugly xpath - using linq.
2016-01-24 15:36:29 +01:00
Chad Rosenthal 09d038fcde U4-4652 - added decimal/double to contentbase 2016-01-23 21:32:08 -07:00
Shannon b5e8cb29dd ensure appctx and security isn't nulled on disposal (it's an application singleton it doesn't need to be nulled), creates new CreateContext method for creating standalone UmbracoContext instances. 2016-01-23 12:38:08 +01:00
Shannon 20dc4f5bc4 fixes merge issue/build 2016-01-23 12:27:40 +01:00
bjarnef 1301897f39 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-22 22:02:51 +01:00
Shannon 2c399860ca Fixes DisposableTimer so that the profiled step is disposed - and thus tracked/timed properly! 2016-01-22 17:27:46 +01:00
Shannon c7185dcef0 Fixes DisposableTimer so that the profiled step is disposed - and thus tracked/timed properly! 2016-01-22 17:27:27 +01:00
Shannon 5ab61e7638 U4-7816 The IsolatedCache instance in the RepositoryFactory differs from the ApplicationContext singleton instance 2016-01-22 17:09:44 +01:00
Shannon 4dc4c36581 U4-7811 Content type repositories should use FullDataSetRepositoryCachePolicyFactory for performance
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMediaTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
2016-01-22 17:08:21 +01:00
Shannon fe774f557c Fixes ms value: U4-7810 DatabaseServerRegistrar should not execute as soon as a request is made, this slows down app start 2016-01-22 17:06:14 +01:00
Shannon 3ecb9d0f86 U4-7807 Domain, language, public access cache (GetAll) caches not working when there are no items 2016-01-22 17:05:27 +01:00
Shannon f78a425985 U4-7816 The IsolatedCache instance in the RepositoryFactory differs from the ApplicationContext singleton instance 2016-01-22 16:37:47 +01:00
Claus 291d92bfc9 Fixes: U4-7700 7.4 beta Backoffice Routing problem for Custom Sections or Installed Packages with a custom section
Reverting the lowercasing happening in the angular routing and navigation.
Ensuring tree section registrations are updated instead of added in trees.config. The lowercasing was introduced to compensate for this.
2016-01-22 13:38:43 +01:00
Shannon ffce67e4fd nuget update 2016-01-22 13:34:16 +01:00
Shannon 4f85985a09 updates mb nuget 2016-01-22 12:45:57 +01:00
Shannon Deminick 5efbec1a2e Merge pull request #1046 from umbraco/temp-U4-7739
U4-7739 - added more options to ViewHelper.GetDefaultFileContent
2016-01-22 12:38:03 +01:00
Shannon 4bb6b2e230 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-22 12:26:04 +01:00
Shannon c365b1569b updates to latest myget MB package 2016-01-22 12:25:39 +01:00
Mads Rasmussen b38edd1921 Merge pull request #1040 from umbraco/temp-U4-7707
U4-7707 Can't unassign assigned composition from content type until i…
2016-01-22 12:13:04 +01:00
Shannon dfa45e70f4 Fixes ms value: U4-7810 DatabaseServerRegistrar should not execute as soon as a request is made, this slows down app start 2016-01-22 12:11:32 +01:00
Shannon 1f29d85f83 U4-7813 Enable MiniProfiler to profiler during startup 2016-01-22 11:46:10 +01:00
Stephan 2a6b559b6e U4-7739 - added more options to ViewHelper.GetDefaultFileContent 2016-01-22 10:41:54 +01:00
bjarnef 6d34fe416d Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-21 20:38:52 +01:00
Shannon c7805f0af1 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-21 19:33:55 +01:00
Shannon 07d50464cc U4-7811 Content type repositories should use FullDataSetRepositoryCachePolicyFactory for performance 2016-01-21 19:33:47 +01:00
Mads Rasmussen 8373955bf0 Auto focus folder name when creating folders in document types 2016-01-21 19:11:43 +01:00
Mads Rasmussen ca5f317a90 Fixes: U4-7797 Remove context-menu divider when there only is one action 2016-01-21 19:10:29 +01:00
Shannon d86db6b2cd U4-7810 DatabaseServerRegistrar should not execute as soon as a request is made, this slows down app start 2016-01-21 18:36:04 +01:00
bjarnef a884ece8b1 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-21 18:15:50 +01:00
Shannon b15f0a9c54 U4-7807 Domain, language, public access cache (GetAll) caches not working when there are no items 2016-01-21 17:46:47 +01:00
Shannon 48667bb50a fixes more mapping, adds more tests. 2016-01-21 16:25:19 +01:00
Shannon ad5043295f cleans up more mappings, adds unit tests 2016-01-21 15:59:58 +01:00
Shannon 0c0518ff7b ensures that abstract models have a DataContract 2016-01-21 15:06:57 +01:00
Shannon 52b1a09de0 abstracts out the DocumentType, MemberType and MediaType editor models, since some contain different props than each other and now member properties contain different properties than each other. So we have a lot of generic insanity going on... it works though. 2016-01-21 15:01:55 +01:00
Sebastiaan Janssen e456761bb9 Merge pull request #1039 from ig-ealbert/japanesev7-2
Added translations and removed unused entries
2016-01-21 13:06:46 +01:00
Mads Rasmussen be1b770df8 Fixes: U4-7665 When adding tab without save and remove it again "Add another tab" should be shown again 2016-01-21 12:00:29 +01:00
Shannon a8e43a3908 U4-7716 Content type editor - YSOD when adding a property with the same alias as it's parent 2016-01-21 11:39:46 +01:00
Alexander Bryukhov 47ea3828a1 Update UI language ru.xml
According the latest keyas added/updated in 7.4 beta2
2016-01-21 13:36:37 +06:00
Mads Rasmussen 504235d6db add memberCanEdit and showOnMemberProfile to property settings overlay in member types 2016-01-20 21:30:12 +01:00
bjarnef 0ffcc9b889 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-20 19:21:58 +01:00
Shannon 177e61834c U4-7707 Can't unassign assigned composition from content type until it has been saved 2016-01-20 18:52:05 +01:00
Shannon 2d0f198f58 U4-7546 Cannot delete document type - fanoe starter kit Text Page 2016-01-20 18:26:30 +01:00
Shannon 6ad568c81a changes config template with new MB config option 2016-01-20 18:18:33 +01:00
ig-ealbert 25dd891938 Added translations and removed unused entries 2016-01-20 12:10:02 -05:00
Shannon Deminick 2ef673bc84 Merge pull request #1038 from umbraco/temp-U4-7768
U4-7768 - Fixes validation issue with new CTs and invalid server side…
2016-01-20 18:08:58 +01:00
Shannon adc3c1e927 updates to latest MB 2016-01-20 18:08:34 +01:00
Shannon e2eaf7d58e Updates how the editor validators work 2016-01-20 17:42:09 +01:00
Shannon 38a6f8c4a9 creates new EditorValidationResolver for external validators to work (internal for now), bumps version 2016-01-20 16:57:31 +01:00
Shannon 8fc44699bc U4-7768 - Fixes validation issue with new CTs and invalid server side validation, adds validation check for all ct aliases across all types 2016-01-20 16:07:47 +01:00
Sebastiaan Janssen 277b67ac84 Merge pull request #1029 from umbraco/temp-U4-7557
U4-7557 Support folders for import/export, packaging
2016-01-20 15:45:21 +01:00
Shannon fda3111e43 fixes nuget dll ref 2016-01-20 15:24:57 +01:00
Shannon 5c2bd5748d Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7
Conflicts:
	build/NuSpecs/UmbracoCms.Core.nuspec
2016-01-20 15:02:12 +01:00
Sebastiaan Janssen 348bee885e Finish last bit for U4-7683 2016-01-20 15:01:25 +01:00
Shannon dd5523de42 updates package dependency for MB 2016-01-20 14:55:56 +01:00
Shannon 4bb9dfb4c9 Ensure that the raw ct alias is passed in with additionaldata 2016-01-20 14:47:32 +01:00
Sebastiaan Janssen 5440353fb3 Merge pull request #1031 from umbraco/temp-U4-7683
Fixes: U4-7683 Search on Property Editors/Data Types in new Content Type Editor should display two results - resuse / available
2016-01-20 14:37:15 +01:00
Sebastiaan Janssen 9f365727e0 Bumps version 2016-01-20 14:10:31 +01:00
Sebastiaan Janssen df3e96e86a Merge remote-tracking branch 'origin/7.3.6' into dev-v7
# Conflicts:
#	build/NuSpecs/UmbracoCms.Core.nuspec
2016-01-20 14:09:40 +01:00
Sebastiaan Janssen 74d73cfe94 U4-7796 Get UrlRewritingNet from the official NuGet location
#U4-7796 Fixed
2016-01-20 13:57:35 +01:00
Shannon 1fd76731cd fixes merge issue, updates MB 2016-01-20 13:54:16 +01:00
Shannon 4e1e240f54 Merge remote-tracking branch 'origin/dev-v7' into temp-U4-7747
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
2016-01-20 13:38:17 +01:00
Shannon 85207b3d5c removes MB dependencies from Umbraco.Web proj, we don't want circular references and this is not required since MB can take care of injecting the server vars. 2016-01-20 13:37:47 +01:00
Shannon 8b80a22018 Merge branch 'temp-U4-7748' into temp-U4-7747 2016-01-20 13:32:40 +01:00
Shannon 9c58e82169 publicized required method for externally setting template markup, removes logic from core for this 2016-01-20 12:47:09 +01:00
Shannon 42fbcb6f41 Bumps version so that the MB core can reference updated code 2016-01-20 11:45:33 +01:00
Shannon 2571e5c683 Moves MB nuget reference to UmbracoCms nuget package - otherwise we have a circular nuget reference! 2016-01-20 11:40:53 +01:00
Mads Rasmussen c16aa5bbf0 Fixes: U4-7745 7.4 Property Editor & Keyboard Shortcuts 2016-01-20 11:35:46 +01:00
Sebastiaan Janssen dad0cf20eb Merge pull request #1035 from ig-ealbert/japanesev7
Added translations for v7 only entries
2016-01-20 11:23:01 +01:00
Shannon fe563b0828 adds AdditionalData to the event args so we can use that to check for specific keys/values when consuming events and maintain compatibility. 2016-01-20 11:19:04 +01:00
Sebastiaan Janssen 9e8821594a Merge remote-tracking branch 'origin/7.3.6' into dev-v7 2016-01-20 10:55:24 +01:00
Sebastiaan Janssen 7fb9d430a9 changes default upload limit to 50 mb 2016-01-20 10:54:43 +01:00
Shannon 76dd7f8909 changes default upload limit to 50 mb 2016-01-20 10:48:10 +01:00
Sebastiaan Janssen 7cd8ba13c0 U4-7781 Setting a user's start node causes YSOD
#U4-7781 Fixed
2016-01-20 10:45:40 +01:00
Shannon 9a0e85af10 Creates new CreateTemplateForContentType for use with the content type editor, I need to somehow add some additional information to the event raised there so that we can listen to that event in MB in order to create the default template markup. 2016-01-19 21:38:11 +01:00
bjarnef ee3131b63d Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-19 21:03:42 +01:00
ig-ealbert 00aed2b33d Added translations for v7 only entries 2016-01-19 14:58:48 -05:00
bjarnef 4fd7182388 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-19 20:56:36 +01:00
Shannon 173f3cb32a ensures the default language has the correct build models translation 2016-01-19 19:58:48 +01:00
Shannon d0df31be8b Ensures the build models buttons work and are enabled for content types, media types and member types 2016-01-19 19:57:38 +01:00
Shannon e857b0a5f4 Updates the strange TypeFinder GetTypeByName method to use BuildManager by default. 2016-01-19 15:58:38 +01:00
Simon Busborg e5f5e16f9a Added ng-cloak to fix flickeren in http://issues.umbraco.org/issue/U4-7762
Fixes flickering in U4-7762 Move document or media briefly show error- and success placeholders + odd position of checkmark at root level
2016-01-19 15:17:39 +01:00
Simon Busborg e51ef64b66 Fixes: U4-7770 List view icon on content node not displayed properly 2016-01-19 14:54:37 +01:00
Simon Busborg 76ff12f681 Fixes: U4-7762 Move document or media briefly show error- and success placeholders + odd position of checkmark at root level 2016-01-19 14:54:37 +01:00
Shannon 068a08cfcd Merge remote-tracking branch 'origin/dev-v7' into temp-U4-7748 2016-01-19 14:48:36 +01:00
Shannon Deminick 329636abab Merge pull request #1032 from umbraco/temp-U4-7775
Fixes: U4-7775 Ctrl + S doesn't work in new document type editor
2016-01-19 14:47:11 +01:00
Shannon caef155805 U4-7748 Models Builder - needs to be in control of the models-out-of-date status 2016-01-19 14:46:19 +01:00
Mads Rasmussen ff876266cf Fixes: U4-7775 Ctrl + S doesn't work in new document type editor 2016-01-19 13:50:50 +01:00
Stephan 9f360c2b9b Fix test broken by PR #1027 2016-01-19 12:52:43 +01:00
Sebastiaan Janssen 0621019918 Adds .models extension for the zip release 2016-01-19 12:31:22 +01:00
Mads Rasmussen 28aa928655 add loader to overlay 2016-01-19 12:29:14 +01:00
Simon Busborg cff6a74f16 Merge pull request #1030 from umbraco/temp-U4-7524
Fixes: U4-7524 Markdown editor - doesn't save content changes after using buttons.
2016-01-19 12:21:13 +01:00
Simon Busborg 853bd3947b Merge branch 'markdowneditor-fix' of git://github.com/pynej/Umbraco-CMS into pynej-markdowneditor-fix
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/markdowneditor/markdowneditor.controller.js
2016-01-19 12:18:24 +01:00
Mads Rasmussen 9ea492f5b7 Fix tab indent 2016-01-19 11:51:49 +01:00
Mads Rasmussen 05044dc871 Fixes: U4-7683 Search on Property Editors/Data Types in new Content Type Editor should display two results - resuse / available 2016-01-19 11:49:52 +01:00
Shannon Deminick 19fae702a9 Merge pull request #1027 from umbraco/temp-u4-7754
U4-7754 - fix UmbracoViewPage with models
2016-01-19 11:18:51 +01:00
Sebastiaan Janssen 994ded8518 Merge remote-tracking branch 'origin/7.3.6' into dev-v7
# Conflicts:
#	build/NuSpecs/UmbracoCms.Core.nuspec
#	src/Umbraco.Web.UI/packages.config
2016-01-19 11:10:18 +01:00
Sebastiaan Janssen 1888888650 Update ImageProcessor, this time also in the nuspec file 2016-01-19 11:07:17 +01:00
Shannon db26eac99b Merge remote-tracking branch 'origin/dev-v7' into temp-U4-7557 2016-01-19 11:00:00 +01:00
Stephan a1b98b6e31 U4-7754 - fix UmbracoViewPage with models 2016-01-18 17:35:26 +01:00
Chris Perks 698617dc60 Added mock for externalLoginInfo, and dependency references required to run 'dev' Grunt task 2016-01-18 14:41:35 +00:00
Simon Busborg a6b7e26606 Fixes U4-7761 Typo on Allowed Templates label 2016-01-18 12:58:34 +01:00
Mads Rasmussen 2074df58fb Fixes: U4-7765 disable folder select + only allow images in grid image picker 2016-01-18 12:02:41 +01:00
Mads Rasmussen e6ab111f4d Fixes: U4-7676 Don't show "Reorder" link in initial row-view for grid 2016-01-18 11:29:23 +01:00
Simon Busborg c9936da37f Fixes U4-7759 Imagepicker setting in Grid broken in 7.4-beta2 2016-01-18 10:10:03 +01:00
Shannon 2aa5dfb3ec Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2016-01-15 18:02:39 +01:00
Shannon 283b893128 hack until we fix template generation for when MB is disabled 2016-01-15 18:02:31 +01:00
Sebastiaan Janssen 1345c48e73 Require very latest version of ModelsBuilder 2016-01-15 17:38:31 +01:00
Shannon 2bc0f0c6b4 Merge branch 'dev-7.4.0-ModelsBuilder' of https://github.com/umbraco/Umbraco-CMS into dev-7.4.0-ModelsBuilder 2016-01-15 17:06:56 +01:00
Shannon 97d64f4f3d adds latest MB version 2016-01-15 17:06:22 +01:00
Sebastiaan Janssen dc17a20bb8 Adds required namespace + a fake class to make sure the namespace exists 2016-01-15 17:05:09 +01:00
Shannon c39b8f6eb5 Merge branch 'dev-7.4.0-ModelsBuilder' of https://github.com/umbraco/Umbraco-CMS into dev-7.4.0-ModelsBuilder 2016-01-15 16:56:49 +01:00
Shannon b776a32a64 fixes the models builder API controller URL 2016-01-15 16:54:38 +01:00
Sebastiaan Janssen c752c9e2bf Merge branch '7.4.0' into dev-7.4.0-ModelsBuilder 2016-01-15 16:24:30 +01:00
Sebastiaan Janssen d1cdff6349 Reference to System.Runtime is required
Release with a reference to ModelsBuilder
2016-01-15 16:24:14 +01:00
Sebastiaan Janssen 32ca5de20c Reference to System.Runtime is required 2016-01-15 16:23:37 +01:00
Sebastiaan Janssen 742e0d69fa Removes duplicate requestFiltering node in web.Template.config 2016-01-15 15:56:26 +01:00
Sebastiaan Janssen 9b28fd0e27 Merge branch '7.4.0' into dev-7.4.0-ModelsBuilder 2016-01-15 15:34:11 +01:00
Sebastiaan Janssen b36a73eecc Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2016-01-15 15:33:55 +01:00
Sebastiaan Janssen df266a202a Fix build and dependencies 2016-01-15 15:31:16 +01:00
Sebastiaan Janssen 49bafe51b7 Merge branch '7.4.0' into dev-7.4.0-ModelsBuilder 2016-01-15 15:24:39 +01:00
Sebastiaan Janssen 39b1357a2a Ensure correct assembly redirects for System.Web.WebPages.Razor and HtmlAgilityPack 2016-01-15 15:07:53 +01:00
Sebastiaan Janssen 4a2b7447a9 Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2016-01-15 13:48:14 +01:00
Sebastiaan Janssen f7676062ea Bumps version 2016-01-15 13:47:18 +01:00
Stephan 244d09068a Merge branch 'dev-7.4.0-ModelsBuilder' of https://github.com/umbraco/Umbraco-CMS into dev-7.4.0-ModelsBuilder 2016-01-15 13:11:53 +01:00
Stephan 99cf7a096c Import missing ModelsBuilder files 2016-01-15 13:11:34 +01:00
Shannon cee20e968f fixes csproj, should no longer reference Zbu DLL 2016-01-15 13:04:18 +01:00
Stephan fb1a72600e Upgrade to Umbraco.ModelsBuilder 2.2.0-beta002 2016-01-15 12:37:15 +01:00
Shannon Deminick efdeb757f6 Merge pull request #1023 from umbraco/temp-U4-7212
U4-7212 All new text for content type editor needs to be localized.
2016-01-15 12:05:38 +01:00
Shannon 4a30398499 fixes capitalisation 2016-01-15 12:04:29 +01:00
Shannon 2a905afe08 fixes translation files, removes duplicate and updates en_us 2016-01-15 12:03:03 +01:00
Shannon b79c7407e6 Removes unecessary promise wrapping for localizing, fixes localization service so that it's not double requesting and fixes how it deals with promise returns. 2016-01-15 11:49:29 +01:00
Shannon 8399906c9a Merge branch '7.4.0' into temp-U4-7212 2016-01-15 11:17:28 +01:00
Shannon 4ce4bd25c4 Fixes package installer and export - doesn't import any folders for child doc types, doesn't export folders for child doc types, ensures that parent doc types are added as compositions (this was never working) and changed the list<string> to hashset<string> so it's always unique. 2016-01-15 11:07:21 +01:00
Claus 72eaec0ff8 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/config.controller.js
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.html

Merged branch over and ignored changes since they are not compatible with the new grid and they have been implemented correctly in the 7.4.0 branch.
2016-01-15 10:34:20 +01:00
Mads Rasmussen 9e75a1821d Merge pull request #1024 from umbraco/temp-U4-6297
Fixes: U4-6297 Add Settings to Grid Controls
2016-01-15 10:22:49 +01:00
Mads Rasmussen 08e4f42974 do not show settings icon if there are no settings 2016-01-15 10:21:32 +01:00
Sebastiaan Janssen 0fbc0d5431 U4-7715 Update Gallery snippet for ImageCropper instead of the upload in 7.4.0
#U4-7715 Fixed
2016-01-15 10:19:35 +01:00
Claus 54e3f0f9ec Fixes: U4-6297 Add Settings to Grid Controls
Added settings to grid controls in v.7.4.
2016-01-15 10:04:49 +01:00
Claus e1ee8a1437 Fix to ensure config array is copied and not referenced. 2016-01-15 10:00:05 +01:00
Claus 21ba88a34d Fixes: U4-6297 Add Settings to Grid Controls
Reusing the existing code for calling the dialog instead of having a separate method for this.
2016-01-15 09:43:01 +01:00
Shannon a468cb78c5 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2016-01-14 19:56:43 +01:00
Shannon ce3028446b Moves all serialization logic, including the part for folders into the EntityXmlSerializer where it needs to be, updates the data type repo to ensure paths are udpated correctly when moving, removes folder logic from other packaging logic, it's purely the responsibility of the serializer. adds new methods to content type and data type services to return an entities total folder collection. 2016-01-14 19:33:53 +01:00
Shannon 73f1458190 Fixes the Move content type command to ensure that all paths are updated correctly. 2016-01-14 18:25:14 +01:00
Shannon 684788cb62 Merge remote-tracking branch 'origin/dev-v7' into temp-U4-7557 2016-01-14 18:12:09 +01:00
Shannon b5abbc7c30 Adds some null checks 2016-01-14 18:11:48 +01:00
Shannon da9a2c59fc Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2016-01-14 17:40:36 +01:00
Shannon 7958b5fcb1 U4-7740 Speed up the current user's culture lookup 2016-01-14 16:43:31 +01:00
Shannon 44b22503e1 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-14 16:36:13 +01:00
Shannon bfa12856db Fixes issue with DefaultRepositoryCachePolicy when creating new items - we were generating the cache key before actually calling the method to create the item therefore there was no id assigned yet (it would be zero). 2016-01-14 16:36:03 +01:00
Claus 163f39b8be Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.html
2016-01-14 15:53:20 +01:00
Stephan 46f3d0c647 Merge branch '7.4.0' into dev-7.4.0-ModelsBuilder 2016-01-14 15:51:53 +01:00
Per Ploug cc8bb4c031 Fixes issue with Insert RenderSection
Reported by doug for training build
2016-01-14 15:37:24 +01:00
Sebastiaan Janssen d9542f4ca5 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-14 15:06:39 +01:00
Sebastiaan Janssen f057976f78 U4-7735 Localization fallback doesn't seem to work.
#U4-7735 Fixed
2016-01-14 15:06:16 +01:00
Claus 151c28a20f Merge pull request #642 from AussieInSeattle/U4-6297
U4 6297
2016-01-14 14:35:54 +01:00
Mads Rasmussen b4bc0ca156 Fixes: RTE media picker 2016-01-14 14:07:46 +01:00
Claus d2c8268fc4 Merge pull request #1014 from kvakulo/fix-media-item-without-image
Fix the media picker not rendering when a media item has no image
2016-01-14 13:46:12 +01:00
Simon Busborg 977369fb2d Danish translation for grid templates 2016-01-14 11:44:32 +01:00
Simon Busborg ed8847821d Added localizationService to user.controller 2016-01-14 11:44:32 +01:00
Simon Busborg bf3f482fe8 Danish translations 2016-01-14 11:44:32 +01:00
Mads Rasmussen 1489070afd start on danish translation 2016-01-14 11:44:31 +01:00
Mads Rasmussen 487d2c6ea1 localize property settings overlay 2016-01-14 11:44:31 +01:00
Mads Rasmussen c66a6bb06f localize list view checkbox text 2016-01-14 11:44:31 +01:00
Mads Rasmussen 4bb4ce0ef4 localize header 2016-01-14 11:44:31 +01:00
Mads Rasmussen b67b7c91a5 localize no compositions 2016-01-14 11:44:31 +01:00
Mads Rasmussen a7627e3482 fix save list view button 2016-01-14 11:44:31 +01:00
Mads Rasmussen 2e6621f31b fix key for umbChildSelector directive 2016-01-14 11:44:31 +01:00
Mads Rasmussen 8a07f47077 add localizationService as dependency on ysod overlay 2016-01-14 11:44:31 +01:00
Simon Busborg 5cefd9ad20 localize property validation 2016-01-14 11:44:31 +01:00
Simon Busborg 96db5a5be3 translation file for drop zone directive 2016-01-14 11:44:30 +01:00
Simon Busborg cdcadab68b localize overlay titles 2016-01-14 11:44:30 +01:00
Simon Busborg 67112b640c localized component views 2016-01-14 11:44:30 +01:00
Simon Busborg c9ad7659a8 localize components views 2016-01-14 11:44:30 +01:00
Simon Busborg cc1764dc88 Added localization for controllers (member, media and document types) 2016-01-14 11:44:30 +01:00
Simon Busborg 3888853a40 Added localization to controllers 2016-01-14 11:44:30 +01:00
Simon Busborg 397a9bffb2 localized documentypes, memberstypes and mediatypes, only controllers missing 2016-01-14 11:44:30 +01:00
Simon Busborg 5965552494 localized documenttypes 2016-01-14 11:44:30 +01:00
Simon Busborg f504a98bcd localized placeholders 2016-01-14 11:44:29 +01:00
Simon Busborg e47d72a51f Added localize to dialogs 2016-01-14 11:44:29 +01:00
Mads Rasmussen e334f669b8 localize member types create 2016-01-14 11:44:29 +01:00
Mads Rasmussen 679d9c1e0a translate media types create 2016-01-14 11:44:29 +01:00
Mads Rasmussen a3d9cbb5fd translate document type editor create dialog 2016-01-14 11:44:29 +01:00
Mads Rasmussen 30c928a734 fix localize bug with reorder and compositions button in content type editor 2016-01-14 11:44:29 +01:00
Mads Rasmussen 9a5f8c2899 start localizing content type editor 2016-01-14 11:44:29 +01:00
Shannon 6ae1806615 Merge branch '7.4.0' into dev-7.4.0-ModelsBuilder 2016-01-14 11:40:06 +01:00
Shannon 632cdac90b adds translations for content type editor to en_us 2016-01-14 11:36:12 +01:00
Shannon Deminick 4068c527bc Merge pull request #1019 from umbraco/temp-U4-7560
Fixes: U4-7560 Default member properties should not be editable
2016-01-14 11:29:56 +01:00
Shannon 58df51cbea fixes pascal case? 2016-01-14 10:52:33 +01:00
Shannon c2c350a517 Merge branch '7.4.0' into dev-7.4.0-ModelsBuilder
Conflicts:
	src/Umbraco.Web.UI/web.Template.config
	src/Umbraco.Web/Editors/ContentTypeControllerBase.cs
2016-01-14 10:37:14 +01:00
Mads Rasmussen b116a96058 Fixes: U4-7581 Why so curvy? 2016-01-14 09:52:55 +01:00
Claus b9cafa2016 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2016-01-14 09:41:14 +01:00
Claus 13a9f40815 Fixes: U4-7728 Folder view in media section gives an exception
Ensuring umbracoFile property isn't accessed if this is called on a folder.
2016-01-14 09:40:40 +01:00
Claus 1a8ae67dd1 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.controller.js
2016-01-14 09:04:42 +01:00
Claus 67f8141015 Merge branch 'bjarnef-dev-v7-mediapicker-only-images' into dev-v7 2016-01-14 08:56:34 +01:00
bjarnef 06a098215b Add media picker config to restrict the editors to only pick images 2016-01-14 00:36:53 +01:00
bjarnef 051b320904 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-13 23:16:10 +01:00
Mads Rasmussen 88f63c7890 only set pointer events to none on search icon, so you can click back in content picker 2016-01-13 21:37:35 +01:00
Shannon Deminick 791c45e085 Merge pull request #1017 from umbraco/temp-deploy-29
deploy-29 - Sanitize UniqueId
2016-01-13 19:22:27 +01:00
Shannon afe2aeda1b Merge branch '7.4.0' into temp-deploy-29 2016-01-13 19:11:20 +01:00
Claus b9e7990b7c Fixes: U4-7560 Default member properties should not be editable
Added locked property to content type properties by alias.
Ensured built in member properties are locked in the editor.
Content type editor changes for supporting locked properties.
2016-01-13 18:43:06 +01:00
Shannon 8b2606f681 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI/web.Template.config
2016-01-13 17:31:35 +01:00
Shannon 5aab50ba3b Ensures fcnMode and file size maximums are set for the debug web config transform and also for the nuget transform. 2016-01-13 17:27:56 +01:00
Shannon dfa687e695 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI/web.Template.config
2016-01-13 17:18:30 +01:00
Shannon 5b9cbae860 Fixes: U4-7712 fcnMode = Single by default 2016-01-13 17:17:39 +01:00
Shannon Deminick b026245b3f Merge pull request #1007 from umbraco/temp-U4-7634
Temp u4 7634
2016-01-13 17:11:59 +01:00
Shannon 20f2773f38 removes the config option registered in the file 2016-01-13 17:09:55 +01:00
Shannon 88b8cfb2bd streamlines how the disabled check boxes work - will perform better too - fixes re-allowing the checkbox on refilter for ancestors. 2016-01-13 16:59:14 +01:00
Shannon 54669ee2bc Ensures you cannot move a child doc type, changes the result of GetAvailableCompositions to be a model instead of a tuple, the result also includes the current ancestor list which we can use to disable items in the list, makes these models/methods internal since they'll most likely be changing, 2016-01-13 16:25:35 +01:00
Shannon 6d5435c2e8 Merge branch '7.4.0' into temp-U4-7634 2016-01-13 14:49:37 +01:00
Shannon 1f245ec553 fixes alias validation when saving an existing contenttype 2016-01-13 14:48:19 +01:00
Shannon 17902712ac fixes merge/build 2016-01-13 14:44:17 +01:00
Per Ploug f4fc47c9cc Strongly Typed models: Always use DoctypeAlias in PascalCase 2016-01-13 14:43:06 +01:00
Per Ploug 7386afcce6 Doctype alias validation always fails
As it only checks if there is a doctype with the same alias, but does
not test if this doctype is the same as the one currently being saved.
2016-01-13 14:39:00 +01:00
Claus 59759c4919 Merge pull request #1018 from umbraco/temp-U4-5982
U4-5982 Webpages unpublishing by themselves
2016-01-13 14:29:37 +01:00
Per Ploug 3698ad6164 Revert "Doctype validation on alias fails"
This reverts commit 3eab76494e.
2016-01-13 14:29:04 +01:00
Per Ploug 3eab76494e Doctype validation on alias fails
As it tests if there is a type with alias, but doesnt check if its
itself, validation will never pass after initial save.
2016-01-13 14:28:44 +01:00
Shannon 9dc57b0e37 Merge branch '7.4.0' into temp-U4-7634
Conflicts:
	src/Umbraco.Core/Services/ContentTypeServiceExtensions.cs
	src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js
	src/Umbraco.Web.UI.Client/src/views/common/overlays/contenttypeeditor/compositions/compositions.html
	src/Umbraco.Web/Editors/ContentTypeControllerBase.cs
2016-01-13 14:08:19 +01:00
Shannon 68ddea2776 refactors a bit of code from the PR, adds more translations to the other english file. 2016-01-13 12:33:57 +01:00
Stephan 02e94f9243 deploy-29 - Sanitize UniqueId 2016-01-13 12:32:30 +01:00
Shannon 8857b2db59 Merge branch 'JJCLane-UKFest-6322' into temp-U4-5982 2016-01-13 12:24:00 +01:00
Shannon fae5618865 Merge branch 'UKFest-6322' of https://github.com/JJCLane/Umbraco-CMS into JJCLane-UKFest-6322 2016-01-13 12:23:26 +01:00
Per Ploug 849d7c45e0 Fix merge conflicts 2016-01-13 12:18:14 +01:00
Shannon 94a1f7e078 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Core/Persistence/Factories/PropertyGroupFactory.cs
2016-01-13 12:11:27 +01:00
Shannon 40dbcbd7d9 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-13 12:10:22 +01:00
Per Ploug cec1f6dae3 Merge remote-tracking branch 'refs/remotes/origin/7.4.0' into dev-7.4.0-ModelsBuilder
# Conflicts:
#	src/Umbraco.Web.UI/packages.config
#	src/Umbraco.Web/Editors/ContentTypeController.cs
2016-01-13 12:10:08 +01:00
Shannon 074d894271 Fixes: U4-7706 Property Type UniqueIds do not stay consistent during package installation 2016-01-13 12:10:04 +01:00
Claus 79c05a129d Merge pull request #1009 from umbraco/temp-U4-7588
U4-7588 Conflicting compositions should not be allowed
2016-01-13 11:58:38 +01:00
Per Ploug 22c9f393a0 Update ModelsBuilder nuget reference 2016-01-13 11:45:40 +01:00
Shannon 3131096ffb Ensures that itself is never returned in the list, not even disabled (since you can never select yourself), ensures that any comp already selected is enabled for selection in the UI. 2016-01-13 11:33:46 +01:00
Mads Rasmussen 6d47d76199 Merge pull request #1012 from umbraco/temp-U4-7696-U4-7371
U4-7371 New Content type editor - Better validation when trying to create a new document/media/member type with the same name as an existing one
2016-01-13 10:58:39 +01:00
Mads Rasmussen eb6ae95039 Merge pull request #1015 from umbraco/temp-U4-7561
U4-7561 Backoffice Media Section should provide information on physic…
2016-01-13 10:40:54 +01:00
Shannon 5e461b0cec adds packaging test 2016-01-13 10:29:44 +01:00
Shannon d6a49f275f adds test that fails - need to fix it now 2016-01-13 10:29:26 +01:00
Shannon 2cc0df3a3c Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2016-01-13 10:25:17 +01:00
Shannon 81ba2b8981 adds packaging test 2016-01-13 10:25:07 +01:00
Mads Rasmussen 03751edf40 Merge pull request #1016 from umbraco/temp-U4-7630
Fixes: U4-7630 Cannot save a document type when it has a date picker …
2016-01-13 10:23:31 +01:00
Mads Rasmussen f5f3126e44 move form outside directive to only disable validation in content type editor 2016-01-13 10:22:57 +01:00
Claus 646ab931b0 Clicking an image in the media picker opened by RTE, should select the image instead of showing details. 2016-01-12 21:58:37 +01:00
Claus 7fd3d58def Fixes: U4-7630 Cannot save a document type when it has a date picker required property with the new property type editor in 7.4
Directive for disabling validation on forms.
Passing on required validation from settings to textarea and textbox.
Wrapping property editor preview in disabled validation form.
2016-01-12 21:40:09 +01:00
Sebastiaan Janssen 8e024fccff Don't hardcode the umbracoFile constant 2016-01-12 20:05:22 +01:00
Sebastiaan Janssen 43227d4510 Support for multiple properties spawning a url - adding more uploadfields to umbracoSettings.config (autoFillImageProperties) 2016-01-12 19:46:05 +01:00
Sebastiaan Janssen 79cc4cd2fa Change "umbracoFile" to the constant for this value 2016-01-12 18:16:55 +01:00
Sebastiaan Janssen 6a6939d8c8 Merge pull request #1013 from umbraco/temp-U4-7578-2
Fixes: U4-7578 Can't pick folders in any media picker in 7.4 beta
2016-01-12 17:45:03 +01:00
Sebastiaan Janssen ff83d2e1f4 U4-7561 Backoffice Media Section should provide information on physical location of files 2016-01-12 17:41:53 +01:00
Regin Larsen cb7df58fdd Fix the media picker not rendering when a media item has no image 2016-01-12 16:25:29 +01:00
Shannon Deminick 244eb08545 Merge pull request #1010 from umbraco/temp-U4-7557
U4-7557 Support folders for import/export, packaging
2016-01-12 16:17:14 +01:00
Mads Rasmussen aa7bf0a12e Fix folder selection in media library 2016-01-12 15:49:59 +01:00
Shannon 85178bbad8 Changes GetAvailableCompositeContentTypes to return a list of composite candidates and then whether they are actually allowed or not based on the filters. Updates the controllers response to be a list of which content types are allowed or not, updates the view accordingly, changes when the filtering happens so that it happens after the content type has been updated with new properties. 2016-01-12 15:44:37 +01:00
Sebastiaan Janssen 5cc274a580 Merge pull request #1004 from umbraco/temp-U4-7681
U4-7681 Legacy CMSNode.Parent uses old SqlHelper API and doesn't keep…
2016-01-12 14:48:54 +01:00
Shannon 06b7305d5b removes erroneous null check 2016-01-12 14:39:20 +01:00
Mads Rasmussen 6af28abcab media picker (selected items) add a but more contrast to folders, use flex box 2016-01-12 14:34:28 +01:00
Shannon f0b0cd1641 adds success checking to the CreateContentTypeContainer results, adds overload instead of optional parameter (breaking change), changes GetContainer(string folderName, int level) to return IEnumerable and changed name to GetContainers - since there could be multiple results for the same container name at a given level. 2016-01-12 14:32:45 +01:00
Sebastiaan Janssen 0686d0736a Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2016-01-12 14:27:33 +01:00
Sebastiaan Janssen 43c174368a Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js
2016-01-12 14:27:22 +01:00
Mads Rasmussen c295e53920 fix media grid in template editor - macro picker 2016-01-12 14:21:12 +01:00
Sebastiaan Janssen 6c5b5ee637 Merge branch 'Phosworks-U4-7312-2' into dev-v7 2016-01-12 14:20:40 +01:00
Sebastiaan Janssen 9bfac0fdcd Still create the thumbnails upon upload (for backwards compatibility) 2016-01-12 14:20:25 +01:00
Shannon Deminick 83d06bdbcf Merge pull request #994 from umbraco/temp-U4-7612
U4-7612 Properties Pane is empty when trying to add a new Property to…
2016-01-12 13:52:07 +01:00
Shannon 67994c630f fixes null checking and ensures that the current property type aliases are passed up when first launching the compositions dialog. 2016-01-12 13:46:18 +01:00
Shannon ee8405ccd0 fixes rebase/merge 2016-01-12 13:32:04 +01:00
Shannon 7389d343e4 adds more unit tests 2016-01-12 13:32:03 +01:00
Shannon f7b34c76f9 got the filtering all working - this ensures that no CTs are selectable if any current property type exists in one of them in the list and re-filters on each CT selection in the list to ensure no illegal comps can be created. 2016-01-12 13:32:02 +01:00
Shannon 32377b29b8 Have content type filtering working on the compositions list so a dev is not allowed to create an illegal composition - next we need to pass in the already existing property types to further ensure an illegal composition cannot be created. 2016-01-12 13:30:49 +01:00
Shannon Deminick a6df74e299 Merge pull request #1008 from umbraco/temp-U4-7639
Temp u4 7639
2016-01-12 13:25:51 +01:00
Sebastiaan Janssen bd5823f0de Merge branch 'U4-7312-2' of https://github.com/Phosworks/Umbraco-CMS into Phosworks-U4-7312-2 2016-01-12 13:24:42 +01:00
Shannon 74d8068de1 Ensures that 2 way binding occurs with the input field so that the outer generate alias updates the inner value and vice versa 2016-01-12 13:21:10 +01:00
Claus bbd6908af3 Ensuring you can create new document types in root.
Parsing result of webservice call as integer.
Ensuring the correct error messages are shown.
2016-01-12 13:06:33 +01:00
Shannon c819dabfc0 U4-7371 New Content type editor - Better validation when trying to create a new document/media/member type with the same name as an existing one & U4-7696 New content type editor - server side validation fails when creating new document type 2016-01-12 12:21:08 +01:00
Sebastiaan Janssen 2a3619e219 Fix merge problem that broke the build 2016-01-12 12:06:15 +01:00
Sebastiaan Janssen fc848e05ee Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2016-01-12 11:39:33 +01:00
Sebastiaan Janssen 5a62713de4 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
# Conflicts:
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/integer/integer.html
2016-01-12 11:39:10 +01:00
Mads Rasmussen 61f6ee4436 fix tooltip so it does not get cut off by tree 2016-01-12 11:38:07 +01:00
Mads Rasmussen 87aeaa8afc set lower image max height and width + fix calculation, make use of values in html. 2016-01-12 11:35:36 +01:00
Sebastiaan Janssen 70035632b6 Update ImageProcessor and UrlRewritingNet dependencies 2016-01-12 11:22:49 +01:00
Mads Rasmussen 1bf470c0aa Merge pull request #1011 from umbraco/temp-U4-7578-3
Fixes: U4-7578 disable folder selection in rte and markdown editor
2016-01-12 10:52:11 +01:00
Claus c6a7678ae8 Fixes: U4-7578 Can't pick folders in any media picker in 7.4 beta
Dialog option for disabling folder select on media pickers.
Added the option to Markdown and RTE.
2016-01-12 10:36:21 +01:00
Claus b1f12ec864 Merge branch 'temp-U4-7578' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts/grid/grid.html
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts/grid/grid.listviewlayout.controller.js
2016-01-12 10:01:03 +01:00
Sebastiaan Janssen 79f0e2563c Allows for creation of packages with folder structures for doctypes and datatypes and exporting document types with folder structures
Fixes installing packages while maintaining the exported folder structure
2016-01-11 22:01:05 +01:00
Shannon Deminick 759c925fa0 Merge pull request #1006 from umbraco/temp-U4-7694
Fixes: U4-7694 Make media folders work as list view and media items - click folder to select and click folder name to open
2016-01-11 18:34:00 +01:00
Sebastiaan Janssen c783900097 Support folders for package installs (for document types and data types) and imports for document types 2016-01-11 17:52:29 +01:00
Shannon e17c900beb fixes merge/rebase with latest other pr merge 2016-01-11 17:21:59 +01:00
Shannon b89d17914d fixes usage of model.contentType.availableCompositeContentTypes to use the availableCompositeContentTypes directly attached to the model. removes the FirstContentType property and adds simple content type service methods to count the doc type number, moves the request to get availableCompositeContentTypes to the dialog (where it's needed and so it's lazy) 2016-01-11 17:17:26 +01:00
Claus 6f6c2a3d90 changing bindings to be compatible with other PR. 2016-01-11 17:16:19 +01:00
Mads Rasmussen ce382c42c4 Fixes: U4-7639 show another message when first document type 2016-01-11 17:16:18 +01:00
Claus e016622fe3 Fixes: U4-7639 Misleading message on creating first document type and click on "compositions"
Added in FirstContentType property on object returned from GetEmpty to indicate whether this is the first content type being created or not (different error messages in backoffice).
2016-01-11 17:16:17 +01:00
Shannon Deminick 043fb99020 Merge pull request #996 from umbraco/temp-U4-7593
fixes: U4-7593 Removing a composite from an existing doctype - Need b…
2016-01-11 17:15:17 +01:00
Stephan b259b14629 TEMP add ModelsBuilder file to Core (will need to revert and use NuGet package) 2016-01-11 15:18:18 +01:00
Stephan 20f5560767 Merge pull request #1002 from umbraco/temp-U4-7558-2
U4-7558 Fix GetAll repository level caching for repositories that return a query result based on the result of GetAll
2016-01-11 15:14:00 +01:00
Claus a09d576300 clean using. 2016-01-11 14:13:25 +01:00
Claus d06003b241 Removing unnecessary settings check. 2016-01-11 14:12:55 +01:00
Claus cb05f3fe03 Reverted changes no longer needed after work on inherited/nested doctypes.
Changed default to allow inherited doctypes.
2016-01-11 14:04:03 +01:00
Claus ffa7a1457a Merge branch '7.4.0' into temp-U4-7634
Conflicts:
	src/Umbraco.Web/Editors/ContentTypeControllerBase.cs
2016-01-11 13:46:20 +01:00
Mads Rasmussen 05c8e10ef8 set disabled state on compositions in overlay + a little bit of restyling 2016-01-11 12:07:39 +01:00
Claus f62920dc47 Removed adding compositions from parents as this breaks core functionality.
Ignoring property in mappings where it isnt needed.
Updating the LockedCompositionsResolver to get parent and use path instead of trying to use path which can be null on GetEmpty.
2016-01-11 12:07:38 +01:00
Claus 3676de0fe8 Reverting code to add additional meta data on compositions.
Added locked compositions to content type object.
Changed UI to use the lockedCompositeContentTypes instead.
2016-01-11 12:07:36 +01:00
Claus 4db1599bcb Null checks for when using folders.
Updated tree menu items.
2016-01-11 12:07:35 +01:00
Claus a7212f6b60 Changing config setting to the default.
Referencing wrong config element.
2016-01-11 12:07:34 +01:00
Claus 6650a72c79 Pass along parentId when getting available compositions since we need it to get available compositions when creating the empty scaffolding.
Include ancestors in the list of compositions.
Mark ancestors as disabled/locked.
2016-01-11 12:07:33 +01:00
Claus 08c4dede08 Output disabled class in backoffice. 2016-01-11 12:07:32 +01:00
Claus 0d37357376 Mark compositions coming from parents with metadata.
Ensure metadata is not ignored.
2016-01-11 12:07:31 +01:00
Claus 7a1f4b6b4b include parents as compositions. 2016-01-11 12:06:39 +01:00
Claus 5360bcff52 context menu for creating child doctype. 2016-01-11 12:06:37 +01:00
Claus e509099cdb Setting for enabling inherited documenttypes. 2016-01-11 12:06:35 +01:00
Claus 81395169ba line endings 2016-01-11 12:02:33 +01:00
Mads Rasmussen cd4db879b7 better function names 2016-01-11 11:21:35 +01:00
Mads Rasmussen fdc654058c Fixes: U4-7694 Make media folders work as list view and media items - click folder to select and click folder name to open 2016-01-11 11:12:53 +01:00
Simon Busborg 323257a0bf Merge pull request #1005 from umbraco/temp-U4-7568
Fixes: U4-7568 Only set focus on header name input when creating new node
2016-01-11 09:10:05 +01:00
Mads Rasmussen f9fa81bf13 only focus editor name when empty - new nodes 2016-01-10 19:23:22 +01:00
Mads Rasmussen e20a152e4f Fix bug where editor name was not always focused 2016-01-10 19:22:44 +01:00
Mads Rasmussen 16e79c98a6 Merge pull request #1003 from umbraco/temp-U4-7638
Fixes: U4-7638 Make larger area of tree node clickable
2016-01-10 13:21:44 +01:00
Mads Rasmussen bf06e1e1e8 Fixes: U4-7674 Fixed header for doc type "Compositions" and "Reorder" links 2016-01-09 22:00:19 +01:00
Mads Rasmussen 7d49c49bab Fixes: U4-7651 Hide button spinner, when validation errors occur for datatype 2016-01-09 20:53:56 +01:00
Mads Rasmussen d4a1eea8e5 Fixes: U4-7575 Deselecting items in the MNTP are not deselected 2016-01-09 20:49:54 +01:00
Shannon ecd024c462 U4-7681 Legacy CMSNode.Parent uses old SqlHelper API and doesn't keep a reference 2016-01-08 13:59:40 +01:00
Simon Busborg a6cf13d835 Positioned loader under tree-item 2016-01-08 13:10:04 +01:00
Shannon 273d2e2a2b Merge branch 'temp-U4-7635' into 7.4.0 2016-01-08 12:29:35 +01:00
Shannon 4cb523fb66 Added tests for ContentTypeServiceExtensions 2016-01-08 12:29:11 +01:00
Simon Busborg e731831658 Fixes: U4-7638 Make larger area of tree node clickable 2016-01-08 11:41:17 +01:00
Mads Rasmussen d1059c9dbe Merge pull request #986 from umbraco/temp-U4-7619
U4-7619
2016-01-08 11:34:33 +01:00
Mads Rasmussen 14db03e718 set min size on media, set background pattern on media to make cleaner grid, streamline media library and media picker select functionality with list view. 2016-01-08 10:12:02 +01:00
Mads Rasmussen 5dbda59f9d Merge pull request #1001 from umbraco/temp-U4-7564
Fixes: U4-7564 "Save and publish" button menu skewed [7.4.0-beta]
2016-01-07 21:35:02 +01:00
Mads Rasmussen e64f0fc5c5 Fixes: U4-7654 Recycle bin now display a input instead of a readonly heading 2016-01-07 21:10:04 +01:00
Shannon 02b6f94a1b moves the current logic into a re-usable ext method 2016-01-07 19:46:22 +01:00
Shannon ba91bf0b9c missing a file save 2016-01-07 19:33:55 +01:00
Shannon 2b13297c36 Changes method name to be shorter and makes internal instead of protected. 2016-01-07 19:27:59 +01:00
Shannon fb5faa3db7 Fixes tests, adds LanguageId to the interface 2016-01-07 18:59:59 +01:00
Shannon d7a142e724 Refactors DictionaryItem and DictionaryTranslation so that the attached ILanguage entity is not cached nor cloned. This will save on lots of memory and cloning cycles especially if there are quire a few dictioanry items. Unfortunatley to achieve this requires a not so pretty hack where we need to assign an internal callback to the model so it knows how to retrieve the language when it needs it. In v8, the ILanguage entity will not be attached at all. This also fixes a cache refresher issue for when a language is deleted -> all dictionary cache must be removed. This commit also changes a method name: ClearAllIsolatedCacheByRepositoryEntityType 2016-01-07 18:44:04 +01:00
Shannon 63785ae70f Adds cache policy tests 2016-01-07 17:54:55 +01:00
Shannon 68aa6ff093 Moves repository caching logic into new CachePolicies. 2016-01-07 16:31:20 +01:00
Simon Busborg 896eda1022 Fixes firefox bug where it ignores inline elements width 2016-01-07 12:58:28 +01:00
Shannon 3e985acef1 ensures that the public access cache refresher is called when a public access item is deleted. 2016-01-07 12:18:57 +01:00
Shannon 6d13d33cfd Changes PublicAccessRepository to use GetAllCacheAsCollection option and return a single result by ID based on the cache of GetAll 2016-01-07 12:03:32 +01:00
Simon Busborg 4139972f72 Fixes: U4-7564 "Save and publish" button menu skewed [7.4.0-beta]
So I tested it on a Surface and got the same result as you. We get this "bug" because of how bootstrap handles dropdowns on mobile/tablets. Bootstrap detect Suface as a tablet, and therefor pushed an element to the DOM called `dropdown-backdrop`. Disabling this will fix the "bug". But we need to be aware of this taken from http://getbootstrap.com/javascript/

>''"On mobile devices, opening a dropdown adds a `.dropdown-backdrop` as a tap area for closing dropdown menus when tapping outside the menu, a requirement for proper iOS support. This means that switching from an open dropdown menu to a different dropdown menu requires an extra tap on mobile."''

Since it's a very old Bootstrap we're using I took the liberty to just add `.btn-group .dropdown-backdrop` `display: none` so that the element wouldn't appear in the DOM anymore.
2016-01-07 11:20:13 +01:00
Shannon Deminick ced0a852b1 Merge pull request #1000 from bjarnef/dev-v7-U4-7648
Set focus on input by clicking label
2016-01-07 10:14:07 +01:00
Mads Rasmussen 2f6cfaf99c prevent save when an overlay is open 2016-01-07 09:49:13 +01:00
bjarnef ba0da15f7f Set focus on input by clicking label 2016-01-07 01:04:55 +01:00
bjarnef 2875cd10f3 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2016-01-06 22:01:33 +01:00
Mads Rasmussen 2a0287f5ad Fixes: U4-7653 List view - input types 2016-01-06 19:29:30 +01:00
Shannon b91661cf65 fixes issue with RepositoryBase - it would cache all entities with a single key even if there were ids specified which is wrong. Updates TemplateRepository to use a single GetAll query as its base source and it uses the GetAllCacheAsCollection option, also massively simplifies its GetDescendants methods, obsoletes some unused code, 2016-01-06 19:27:15 +01:00
Mads Rasmussen 7cb4a47f3e Fixes: U4-7653 List view - can't remove custom layouts 2016-01-06 19:00:23 +01:00
Shannon 827f7a7bc8 Updates DictionaryRepository(s) to have custom GetAll caching options - to basically disable it since there could be tons of these and currently an IDictionaryItem is a massive entity (need to fix that) 2016-01-06 18:34:07 +01:00
Shannon ff829d49a3 Updates all cache refreshers to reference the IsolatedRuntimeCache where required, refactors how IsolatedRuntimeCache is exposed on the CacheHelper, ensures that IsolatedRuntimeCache is used in all repositories instead of the global RuntimeCache, changes all obsolete usages of CacheHelper to the non obsolete equivalent, obsoletes many of the cache keys, obsoletes a couple cache refreshers that aren't used anymore in 7.3, simplifies CacheHelper with regards to it's 'disabled' cache state. 2016-01-06 18:08:14 +01:00
Sebastiaan Janssen 20720cdb28 Merge branch 'dev-v7' into 7.4.0 2016-01-06 15:59:51 +01:00
Sebastiaan Janssen d2483159bc Fixes unit tests, not all packages will have the sort order in there 2016-01-06 15:59:23 +01:00
Sebastiaan Janssen 37baeec8a9 Merge branch 'dev-v7' into 7.4.0
# Conflicts:
#	src/Umbraco.Core/Services/PackagingService.cs
2016-01-06 15:23:47 +01:00
Sebastiaan Janssen 48ab3f580c Fixes the build 2016-01-06 15:21:45 +01:00
Mads Rasmussen 7b33f85a5d fixes: U4-7593 Removing a composite from an existing doctype - Need better UI/error reporting (your data goes with it!) 2016-01-06 15:15:50 +01:00
Sebastiaan Janssen aa6897bfa7 Merge branch 'dev-v7' into 7.4.0
# Conflicts:
#	src/Umbraco.Core/Services/PackagingService.cs
2016-01-06 15:00:44 +01:00
Claus c524d67a37 Fixes: U4-7553 Importing Document Type doesn't respect property sort order
Handling sortOrder property in both import/export.

(cherry picked from commit 378479b4c1)

# Conflicts:
#	src/Umbraco.Core/Services/PackagingService.cs
2016-01-06 14:56:31 +01:00
Sebastiaan Janssen f1414ae000 Merge pull request #995 from umbraco/temp-U4-7553
Fixes: U4-7553 Importing Document Type doesn't respect property sort order
2016-01-06 14:50:21 +01:00
Claus 378479b4c1 Fixes: U4-7553 Importing Document Type doesn't respect property sort order
Handling sortOrder property in both import/export.
2016-01-06 14:48:37 +01:00
Sebastiaan Janssen 649679cb30 U4-7612 Properties Pane is empty when trying to add a new Property to a new or existing Document Type 2016-01-06 14:24:53 +01:00
Shannon 4f40fff5ee Moves DeepCloneRuntimeCacheProvider to Cache namespace. Creates DeepCloneableList + tests. Updates RepositoryBase to use DeepCloneableList when GetAllCacheAsCollection is used (so that all entries that get cached are deep cloned into and out-of the cache). Adds test for DeepCloneRuntimeCacheProvider for dealing with this list type. 2016-01-06 14:17:51 +01:00
Shannon b04d0fc886 Adds Isolated cache to the CacheHelper, adds cache option: GetAllCacheAsCollection, changes the default repository cache to be an isolated cache (instead of part of the single main dictionary cache), adds the logic for the cache option GetAllCacheAsCollection to RepositoryBase, updates Language and Domain repositories to use GetAllCacheAsCollection, updates RepositoryFactory to be the one responsible for injecting a DeepCloneRuntimeCacheProvider and to use a single _noCache instance. 2016-01-06 13:48:03 +01:00
Sebastiaan Janssen 701dea5de7 Merge pull request #969 from umbraco/temp-U4-7591
U4-7591 File cleanup for old editor 'tasks' and 'create' dialogs
2016-01-06 13:43:14 +01:00
Shannon 5767cea8f2 fixes build/merge 2016-01-06 12:58:05 +01:00
Shannon 4e3cf6c608 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Core/ObjectExtensions.cs
	src/Umbraco.Tests/PropertyEditors/PropertyEditorValueEditorTests.cs
	src/Umbraco.Web/Editors/ContentTypeController.cs
	src/Umbraco.Web/Models/Mapping/TabsAndPropertiesResolver.cs
2016-01-06 12:54:19 +01:00
Shannon 4c3258812c normalize culture for test 2016-01-06 12:50:41 +01:00
Shannon bc98f5e8fc code cleanup.
Conflicts:
	src/Umbraco.Core/ObjectExtensions.cs
2016-01-06 12:49:18 +01:00
Shannon 6f2f6c088b Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-06 12:48:36 +01:00
Shannon da91923577 Changes ObjectExtensions NormalizeNumberDecimalSeparator to use normal Culture (not UI Culture) 2016-01-06 12:48:26 +01:00
Sebastiaan Janssen fbc46d8046 Merge pull request #989 from umbraco/temp-U4-7643
U4-7643 DatabaseServerMessenger.cs causes lucene indexes to rebuild o…
2016-01-06 12:43:36 +01:00
Shannon Deminick 3cec0c3b43 Merge pull request #993 from umbraco/temp-U4-7655
Fixes: U4-7655 PropertyValueEditor tests failing
2016-01-06 12:26:38 +01:00
Shannon e8a0fae557 adds notes 2016-01-06 12:24:09 +01:00
Shannon Deminick e0baf45247 Merge pull request #992 from umbraco/temp-U4-5168
U4-5168 Media Items label says "Document Type" instead of  "Media Type"
2016-01-06 12:22:53 +01:00
Sebastiaan Janssen 43e983e27a Corrects spelling of localStorateDir to localStorageDir 2016-01-06 12:17:48 +01:00
Claus b1b7598e3c code cleanup. 2016-01-06 12:17:30 +01:00
Claus b4ca4917cc Updating Double and Single conversion (where NormalizeNumberDecimalSeparator is also used) to include CurrentUICulture. 2016-01-06 12:12:29 +01:00
Sebastiaan Janssen b882806847 Merge pull request #980 from umbraco/temp-U4-7614
U4-7614 Allow Examine's local temp storage to exist in the current Us…
2016-01-06 12:09:31 +01:00
Shannon 4838bf62f7 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2016-01-06 12:01:12 +01:00
Claus b5fb82e934 Fixes: U4-7655 PropertyValueEditor tests failing
Passing in CurrentUICulture to TryParse method, since it is also used for the normalization part.
NumberStyles.Number is the default parameter used by the other TryParse overload so should be good to use here too.
2016-01-06 12:01:01 +01:00
Shannon 58c30cd7a6 removes erroneous reverse call 2016-01-06 12:00:50 +01:00
Shannon Deminick ae1b6d95b8 Merge pull request #990 from umbraco/temp-PVS-Studio
Temp pvs studio
2016-01-06 12:00:28 +01:00
Shannon a2b0f6f7f9 removes erroneous reverse call 2016-01-06 11:59:09 +01:00
Shannon Deminick c6481f853c Merge pull request #991 from umbraco/temp-U4-7556
Temp u4 7556
2016-01-06 11:40:28 +01:00
Sebastiaan Janssen 403af78ba9 U4-5168 Media Items label says "Document Type" instead of "Media Type" 2016-01-06 11:22:15 +01:00
Shannon dca6f2b42a fixes build 2016-01-06 10:47:58 +01:00
Shannon b0060a9592 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	build/InstallGit.cmd
	build/UmbracoVersion.txt
	src/SolutionInfo.cs
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/Umbraco/config/lang/nb.xml
	src/Umbraco.Web/Editors/DataTypeValidateAttribute.cs
	src/Umbraco.Web/Security/Identity/UmbracoBackOfficeCookieAuthOptions.cs
	src/Umbraco.Web/WebServices/SaveFileController.cs
2016-01-06 10:46:38 +01:00
Claus f1cc32771e Using constants instead of -1. 2016-01-06 10:31:21 +01:00
Claus bfa9c80ed6 Added null checks for elements on import. 2016-01-06 10:27:39 +01:00
Claus 2dcb9c93f7 Dropped these null checks to avoid serializing invalid objects. 2016-01-06 10:26:09 +01:00
Claus e49033a602 Added import document type option to context menu on root node. 2016-01-06 09:44:12 +01:00
Claus e489cffa3d Removed unused namespaces and cleanup. 2016-01-06 09:26:58 +01:00
Claus 83963003f9 Ensures XML serializer doesn't fail when trying to serialize null properties.
Some properties can now be nulls instead of string.Empty when using the new content type editor.
2016-01-06 09:25:15 +01:00
Claus 2bdea2ef30 Fixes: U4-7556 Export/import document types isn't available in 7.4
Added in export to context menu on document types using the legacy dialog.
2016-01-06 09:23:55 +01:00
Sebastiaan Janssen 59fe690a88 Code sample No.10 2016-01-05 23:34:30 +01:00
Sebastiaan Janssen a15b005d95 Code sample No.6, No.7 2016-01-05 23:22:16 +01:00
Sebastiaan Janssen b94c396d4e Code sample No.5 2016-01-05 23:20:47 +01:00
Sebastiaan Janssen 8afc4f5ad1 Code sample No.3 2016-01-05 23:15:25 +01:00
Sebastiaan Janssen f68b2de9e3 Code sample No.2 2016-01-05 23:13:37 +01:00
Sebastiaan Janssen f4e29d90e0 Code sample No.1 2016-01-05 23:12:09 +01:00
Sebastiaan Janssen 5ad5e945c4 Merge pull request #813 from TimGeyssens/dev-v7
Fixes U4-7249 Insert Macro split button, when selecting a macro that …
2016-01-05 19:49:14 +01:00
Sebastiaan Janssen 4ef7b7735e Fixes U4-6510 again as merging PR apparently went wrong 2016-01-05 17:04:11 +01:00
Sebastiaan Janssen db538d95ba Bumps version 2016-01-05 16:11:59 +01:00
Sebastiaan Janssen cef7cd1ca7 Merge pull request #981 from umbraco/temp-U4-7583
U4-7583
2016-01-05 16:02:51 +01:00
Shannon 726416fe0c Fixes: U4-7624 Datepicker Sql server error
Since we are not saving the formatted value, don't try parsing the date with formatting config.
Added in explicit parsing format compatible with the one used when saving the value, just to ensure parsing is done the same way.
2016-01-05 15:47:42 +01:00
Simon Busborg ac653e7f6d Fixes: U4-7636 Change re-use back to Reuse 2016-01-05 15:35:42 +01:00
Simon Busborg 2dc2199390 Added bold font in search fields to support new font heirachy 2016-01-05 15:29:15 +01:00
Shannon Deminick 1957d8bb3b Merge pull request #928 from kiasyn/patch-1
U4-7400 - Datepicker is not updating scope model value in time for 3r…
2016-01-05 15:19:31 +01:00
Shannon fab30d353a U4-7223 GetCropUrl outputs html entities in url when used in css 2016-01-05 14:54:02 +01:00
Shannon 75990b5961 U4-7643 DatabaseServerMessenger.cs causes lucene indexes to rebuild on app startup 2016-01-05 14:20:13 +01:00
Claus bfc7cbccc1 Merge pull request #988 from umbraco/temp-U4-7584
Fixes: U4-7584 can't preview any content due to external google font
2016-01-05 13:08:37 +01:00
Shannon 18900d0e25 Fixes: U4-6659 Examine: Specific doctype not being indexed 2016-01-05 12:38:13 +01:00
Shannon d08f4230c8 U4-7538 GetRemainingTimeoutSeconds is double setting the cookie in 7.4 2016-01-05 12:35:06 +01:00
Simon Busborg 44014fea70 Fixes: U4-7584 can't preview any content due to external google font 2016-01-05 11:49:30 +01:00
Mads Rasmussen cd66bbfb0f Fixes: U4-7629 Help-dialog doesn't open, when user-dialog is open 2016-01-05 11:46:02 +01:00
Shannon 15d06557e9 U4-7605 Colons/Parens Unnecessarily Removed From Data Type Names 2016-01-05 11:42:02 +01:00
Shannon 8d2e708d1c Adds exception handling for the BackOfficeUserStore - this will occur if the external OAuth provider doesn't return the Email or Name correctly, then an exception is swallowed at the service level and the user is not actually created, but the BackOfficeUserStore could not detect this, so it's detecting this now. 2016-01-05 11:36:52 +01:00
Shannon 280573be28 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-01-05 11:35:35 +01:00
Shannon 415aaf3e2b U4-7477 xss char stripping on data type names is being too agressive 2016-01-05 11:35:24 +01:00
Sebastiaan Janssen 5081027482 Improve batch files: SETLOCAL makes sure we don't change the user's actual path, so no need to revert changes any more either 2016-01-05 11:33:10 +01:00
Claus 69233fbead Merge pull request #987 from umbraco/temp-U4-7590
Fixes: U4-7590 List view layout cookie: Change to use local storage a…
2016-01-05 09:43:54 +01:00
Simon Busborg 5f4309d2ca Fixes: U4-7590 List view layout cookie: Change to use local storage and clean up entry if its back to default layout. 2016-01-05 09:23:27 +01:00
Claus 3a4f0f4c11 Fixes: U4-7624 Datepicker Sql server error
Since we are not saving the formatted value, don't try parsing the date with formatting config.
Added in explicit parsing format compatible with the one used when saving the value, just to ensure parsing is done the same way.
2016-01-04 11:56:59 +01:00
Simon Busborg deb1f2f343 Fixes: U4-7337 Change Wording in Doctype Editor 2016-01-04 11:18:34 +01:00
Simon Busborg 460f0e7528 Fixes: U4-7607 Listview jump a few pixels down, when selecting items 2016-01-04 10:20:18 +01:00
Simon Busborg dd72f2fe3a Fixes: U4-7625 Rounded corners for datepicker dialog 2016-01-04 10:11:04 +01:00
Simon Busborg d78428213e Fixed: U4-7626 Ensure consistency in context menu items 2016-01-04 10:04:37 +01:00
Simon Busborg 101c5e63a9 Fixes: U4-7606 Set focus on input when clicking search icon 2016-01-04 10:00:16 +01:00
Wincent 96b24d7ee0 Removes dependency to System.IO.File 2015-12-31 12:01:35 +01:00
Rune Hem Strand 12e98fb54e Fixes U4-7619
Allows for correct aspect ratio when resizing a crop
2015-12-30 14:16:00 +01:00
Per Ploug 88f6722b9d ContentType EditController typo 2015-12-30 10:40:48 +01:00
Per Ploug 6245c0408b Default settings for models builder
Livemodels enabled, dlls models disabled, views/web.config includes the
models namespace
2015-12-30 09:57:13 +01:00
Per Ploug 6763e93af3 Cleanup of default template code
Moves it to the ViewHelper instead of inside of contenttypecontroller
2015-12-30 09:56:09 +01:00
Shannon 074dfc7e29 Adds Models Builder to nuspec, fixes build error 2015-12-29 12:29:36 +01:00
Shannon 1040700bfd Merge branch '7.4.0' into dev-7.4.0-ModelsBuilder
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/Editors/ContentTypeController.cs
2015-12-29 11:26:15 +01:00
Alexander Bryukhov 6a1b8f00eb Correcing one key translation 2015-12-28 23:47:28 +06:00
Alexander Bryukhov 4574e4291b Missed keys 2015-12-28 23:45:15 +06:00
Alexander Bryukhov aae15bf0b4 ru.xml - UI lang file
Added / updated keys for 7.4
2015-12-28 23:40:15 +06:00
Alexander Bryukhov ae85b7bf2b Nodes sort dialog - adding date formats
Adding dates processing for 'dd.MM.yyyy' formats
2015-12-28 23:00:08 +06:00
Shannon ac1785bc08 U4-7583 2015-12-28 16:20:48 +01:00
Shannon 1da1a20734 ensures the setting is enabled for the searcher too 2015-12-28 13:43:47 +01:00
Shannon c765ab9112 U4-7614 Allow Examine's local temp storage to exist in the current User's temp storage location - useful for Azure 2015-12-28 13:37:56 +01:00
Shannon 66ae47443a Merge branch 'temp-U4-7569' into 7.4.0 2015-12-28 10:37:32 +01:00
Shannon Deminick 198033ff22 Merge pull request #974 from umbraco/temp-U4-7569
Temp u4 7569
2015-12-28 10:36:18 +01:00
Shannon c6dbb0f7fa reverts member tree order 2015-12-28 10:35:54 +01:00
Shannon 5eff065835 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2015-12-28 10:19:24 +01:00
Shannon Deminick 664aa3842d Merge pull request #979 from robertjf/dev-v7
fix for issue U4-7609/U4-7610 - IE related problems
2015-12-28 10:09:29 +01:00
Robert Foster fbee58e445 Added json mimetype Mapping to web.config.template to support things like manifest.json in certain browsers (e.g. IE). 2015-12-26 19:05:44 +11:00
Robert Foster a5e87dcedf Fix for IE not being able to install packages in Umbraco backoffice. 2015-12-26 18:57:24 +11:00
Mads Rasmussen c11b09d2d6 Merge pull request #975 from umbraco/temp-U4-7573
Fix for http://issues.umbraco.org/issue/U4-7573
2015-12-23 11:11:10 +01:00
Mads Rasmussen c7e9e99373 Merge pull request #978 from umbraco/temp-U4-6854
Fix for http://issues.umbraco.org/issue/U4-6854
2015-12-23 09:53:53 +01:00
Mads Rasmussen 292887d9eb Merge pull request #967 from umbraco/temp-U4-7571
Fix for http://issues.umbraco.org/issue/U4-7571
2015-12-23 09:35:29 +01:00
Simon Busborg 7a112c43d8 Fix for http://issues.umbraco.org/issue/U4-6854
Grid editor - insert control: Make blue area clickable
2015-12-22 20:05:29 +01:00
Jeremy Pyne 9dbdae3b90 Added Markdown package and code to MarkdownEditorValueConverter to automatically convert the markdown text to Html when rendered in the front end. 2015-12-22 11:49:13 -05:00
Jeremy Pyne 9649e6d9bf Add code to manually update the model. 2015-12-22 11:17:53 -05:00
Jeremy Pyne 0d7363af23 Fix for MarkdownEditor no seeing changes from button clicks. 2015-12-22 10:47:04 -05:00
Shannon c470df783c U4-7591 File cleanup for old editor 'tasks' and 'create' dialogs 2015-12-22 16:27:50 +01:00
AndyButland b52c480da3 Added IPublishedContent extension method for filtering nodes based on composition alias
Created unit test for IsComposedOf
2015-12-22 16:27:12 +01:00
Simon Busborg 552cbada88 Fix for http://issues.umbraco.org/issue/U4-7573 2015-12-22 15:07:57 +01:00
Shannon Deminick 7883a3720b Merge pull request #964 from umbraco/temp-U4-6890
U4-6890 New content type editor: Missing sorting of properties from s…
2015-12-22 15:04:47 +01:00
Mads Rasmussen bb5812ba54 remove front-end sorting of properties in content types 2015-12-22 14:46:57 +01:00
Simon Busborg a0c552d289 Moved media "remove file" and "Choose file" on one line. UI Sugar 2015-12-22 14:26:52 +01:00
Mads Rasmussen 8eb3122409 remove fadeOut class from load indicator directive to make in animate more than once 2015-12-22 14:08:31 +01:00
Mads Rasmussen 89e2bb1d0a Fixes: U4-7569 Listview should not loose focus after filtering and U4-7582 When searching in media with no results, show a no results message + make empty state directive 2015-12-22 14:07:12 +01:00
Shannon Deminick 41879e28ef Merge pull request #971 from umbraco/temp-U4-7567
Fix for http://issues.umbraco.org/issue/U4-7567
2015-12-22 11:26:05 +01:00
Simon Busborg 2bf83c2cce Added proper hierachy to intro screen 2015-12-22 10:46:21 +01:00
Simon Busborg 42db79bdf6 Added .btn-link -underline for dashboard links, removed global link styling from umb-dashboard-control
Added .btn-link -underline to dashboards
2015-12-22 10:39:49 +01:00
Shannon Deminick bb44a7833f Merge pull request #970 from umbraco/temp-U4-7566
Fix for http://issues.umbraco.org/issue/U4-7566
2015-12-22 10:12:01 +01:00
Simon Busborg e77e0c6704 added posibility to use border radius variables 2015-12-21 15:52:13 +01:00
Simon Busborg f5fc4eacd4 Fix for http://issues.umbraco.org/issue/U4-7566# 2015-12-21 15:33:20 +01:00
Simon Busborg 0ba9054412 Removed border-radius 2015-12-21 15:25:22 +01:00
Simon Busborg 9bbaf4a20e Removed rounded corners on elements 2015-12-21 15:21:11 +01:00
Shannon f3f70a3243 U4-7591 File cleanup for old editor 'tasks' and 'create' dialogs 2015-12-21 15:19:15 +01:00
Mads Rasmussen 6a9f6bc91b make it possible to select folders in media picker, fix issue with deselecting image in some cases + a bit code clean up. 2015-12-21 14:48:46 +01:00
Simon Busborg 8e3b6ffd59 added blue hover state 2015-12-21 12:38:22 +01:00
Simon Busborg 4a660433de Removed hover state 2015-12-21 12:37:21 +01:00
Simon Busborg 3a640c7a78 Added hover state 2015-12-21 12:32:15 +01:00
Simon Busborg 632bccb9dd Added new mediapicker ui for consistency through the backoffice, removing text-decoration problem 2015-12-21 12:22:14 +01:00
Shannon b13b4953c3 U4-6890 New content type editor: Missing sorting of properties from server 2015-12-21 10:37:54 +01:00
Wincent 53f9e104ec Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into U4-7312-2
Conflicts:
	src/Umbraco.Web/Editors/ImagesController.cs - Removed changes from upstream
2015-12-19 11:16:30 +01:00
Robert Foster ffe41fe060 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' 2015-12-18 22:45:46 +11:00
Simon Busborg 8008a3b7c5 Fix for http://issues.umbraco.org/issue/U4-7574 2015-12-18 11:22:40 +01:00
Simon Busborg da02b1330c Fix for http://issues.umbraco.org/issue/U4-7572 2015-12-18 10:33:22 +01:00
Sebastiaan Janssen cdce2a1180 Bump version 2015-12-17 14:27:37 +01:00
Mads Rasmussen 8830faedfd remove gradient from orange buttons 2015-12-17 14:19:34 +01:00
Mads Rasmussen 087ad2e1fa grid: remove the + from add content button 2015-12-17 14:01:33 +01:00
Mads Rasmussen 549881bfb7 Merge pull request #961 from umbraco/temp-U4-7551
U4-7551 New Content type editor dialog to select an editor for a prop…
2015-12-17 13:18:39 +01:00
Mads Rasmussen afd5b2e8d3 fix missing eventService injection 2015-12-17 12:38:31 +01:00
Mads Rasmussen c7ac6e5e70 Loading grouped datatypes when reusing in content type editor. Create new data type from available editor, get data type from reuse. 2015-12-17 12:32:18 +01:00
Shannon 4bd1cb0a3c Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2015-12-17 11:33:18 +01:00
Shannon 887bbdc3b0 dont' set applicationcontext to null on dispose for request based lifespan instances since applicationcontext is a singleton lifespan. 2015-12-17 11:32:50 +01:00
Mads Rasmussen 6d30c89757 fix merge conflict 2015-12-17 11:20:40 +01:00
Shannon 62db58110a re-reverts GetGroupedPropertyEditors and adds GetGroupedDataTypes 2015-12-17 11:13:49 +01:00
Claus 1655749c5d Merge branch 'temp-U4-7549' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/mediatypes/edit.controller.js
2015-12-17 10:41:44 +01:00
Shannon c18ed7fa36 reverts the GetGroupedPropertyEditors method to return the data type definition for a property editor if it has no pre-values and is defined as a data type 2015-12-17 10:35:44 +01:00
Stephan 0df4949b82 Merge pull request #960 from umbraco/temp-deploy-31
deploy-31 Implement DB changes for Umbraco Deploy
2015-12-17 10:28:11 +01:00
Mads Rasmussen 87109b0747 rename umb-list-view directive to umb-list-view-settings. Because the other was just confusing 2015-12-17 10:17:34 +01:00
Simon Busborg d89defe23b Added correct cursors to elements that can be moved in the grid 2015-12-17 09:03:48 +01:00
Mads Rasmussen e16a1a2459 content type editor: switch settings and remove buttons to follow same convention as grid + fix small html bug. 2015-12-16 20:04:23 +01:00
Mads Rasmussen 48c963985a Hide editor sub headers in content type property preview. This will prevent it from scrolling down on long content types (and look weird) 2015-12-16 20:01:29 +01:00
Mads Rasmussen 57d78aac70 remove before stop event in grid sorting. The code doesn't work and it makes an js error in Edge which makes sorting fail. 2015-12-16 19:58:17 +01:00
Mads Rasmussen 5ec5afd16f Fixes: U4-7554 Compositions are not loaded in media types + move icon converter for composition to prevent js error 2015-12-16 19:51:25 +01:00
Shannon 9bff31c24a adds table create tests 2015-12-16 17:33:45 +01:00
Shannon e61db40907 Changes to use a composite key for UmbracoDeployDependency 2015-12-16 17:31:38 +01:00
Shannon fcbac0138a U4-7549 For new installs make the Image use the image cropper instead of upload
Also fixes issue with media type editor which was a bug resulting fromn(U4-6837)
2015-12-16 17:23:50 +01:00
Sebastiaan Janssen a0ac0b55d0 Update trees transform with new aliases and sorting, also re-ordered member tree to have member types first, think that was the intention 2015-12-16 17:02:10 +01:00
Shannon 07533e0145 U4-7551 New Content type editor dialog to select an editor for a property type needs the "Default" and "Reuse" tab functionality changed
Removes unused/non-required methods from data type controller/service.
2015-12-16 16:51:12 +01:00
Shannon Deminick 9cc57479da Merge pull request #957 from umbraco/temp-U4-7186
Fixes: U4-7186 Go through the remaining dialogs and check for consistency
2015-12-16 16:35:02 +01:00
Shannon 790727e952 Fixes reference to new data type tree alias "dataTypes" (breaking because of U4-7150) 2015-12-16 16:19:16 +01:00
Shannon 121d8c0279 Fixes reference to new member type tree alias "memberTypes" (breaking because of U4-7150) 2015-12-16 16:18:11 +01:00
Shannon 37a8cf7069 Removes unecessary items in the UI.xml file 2015-12-16 16:16:34 +01:00
Shannon a2e64b3485 Fixes reference to new document type tree alias "documentTypes" (breaking because of U4-7150) 2015-12-16 16:16:21 +01:00
Shannon ea86c8bcff Fixes reference to new member group tree alias "memberGroups" (breaking because of U4-7150) 2015-12-16 16:07:56 +01:00
Shannon 8260c12d64 deploy-31 Implement DB changes for Umbraco Deploy 2015-12-16 14:07:09 +01:00
Claus 2729069b00 Merge pull request #959 from umbraco/temp-U4-7477
U4-7477 xss char stripping on data type names is being too agressive
2015-12-16 14:01:12 +01:00
Claus 20c48a2daf Merge pull request #956 from umbraco/temp-U4-7538
U4-7538 GetRemainingTimeoutSeconds is double setting the cookie in 7.4
2015-12-16 13:42:54 +01:00
Sebastiaan Janssen 38e0a6e1bf Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2015-12-16 13:00:34 +01:00
Sebastiaan Janssen 7e5ffdf0ca Update in case people have 64bit git installed 2015-12-16 13:00:28 +01:00
Sebastiaan Janssen 96b33cb071 Merge branch 'temp-U4-7365' into 7.4.0 2015-12-16 12:59:55 +01:00
Shannon bdc7837f63 U4-7477 xss char stripping on data type names is being too agressive 2015-12-16 12:58:23 +01:00
Claus 7cf1491661 Merge branch 'temp-U4-6837' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI/umbraco/controls/ContentTypeControlNew.ascx.cs
2015-12-16 12:32:16 +01:00
Shannon aa91b5c68d Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2015-12-16 11:06:37 +01:00
Sebastiaan Janssen c3f309c146 Merge branch '7.4.0' into temp-U4-7365 2015-12-16 10:25:19 +01:00
Shannon Deminick e89cc24d51 Merge pull request #958 from lars-erik/overridable-domain-repository
Can't log into youtrack. Simple changes to repositoryfactory and umbr…
2015-12-16 10:19:25 +01:00
Claus 61f3b2ae4a Added CultureInvariant to regex. 2015-12-16 09:53:15 +01:00
Claus a752c7ee4b Merge branch 'rasmusjp-U4-7462' into dev-v7 2015-12-16 09:52:36 +01:00
Lars-Erik Aabech a14f0021bd Can't log into youtrack. Simple changes to repositoryfactory and umbraco.web.ui assemblyinfo. 2015-12-16 09:50:17 +01:00
Claus 5eb5549448 Merge branch 'U4-7462' of git://github.com/rasmusjp/Umbraco-CMS into rasmusjp-U4-7462 2015-12-16 09:36:49 +01:00
Sebastiaan Janssen f00d89616a Merge branch 'temp-U4-7448' into 7.4.0 2015-12-15 17:17:54 +01:00
Shannon 3f796791cc uses the main property value instead of the param 2015-12-15 17:17:11 +01:00
Sebastiaan Janssen 5b825bdeae Merge branch '7.4.0' into temp-U4-7448
Conflicts:
	src/Umbraco.Web.UI/umbraco/config/lang/no.xml
2015-12-15 17:16:15 +01:00
Sebastiaan Janssen d87dd67c08 Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2015-12-15 17:12:59 +01:00
Sebastiaan Janssen 581027172f Merge branch 'temp-7134' into 7.4.0 2015-12-15 17:12:24 +01:00
Shannon b74cab6f0b U4-7538 GetRemainingTimeoutSeconds is double setting the cookie in 7.4 2015-12-15 16:56:31 +01:00
Sebastiaan Janssen f2e37abb22 Merge branch '7.4.0' into temp-7134 2015-12-15 16:47:54 +01:00
Sebastiaan Janssen 46e7112abd Merge pull request #955 from umbraco/temp-U4-7537
U4-7537 File cleanup for old content type editor
2015-12-15 16:08:11 +01:00
Sebastiaan Janssen cdeb82e7cc Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2015-12-15 15:42:50 +01:00
Claus f5e9151ffd Localized some texts on the slider configuration. 2015-12-15 15:42:14 +01:00
bjarnef 5a9dd11a7c Change margin-top for triangle and re-order config properties 2015-12-15 15:42:14 +01:00
bjarnef 9e6123abd3 Modify properties and styling 2015-12-15 15:42:13 +01:00
bjarnef 6c3ef2aaa9 Add more config properties 2015-12-15 15:42:13 +01:00
bjarnef 95ae504c9b Change "reversed" property to boolean 2015-12-15 15:42:12 +01:00
bjarnef 88fadcf74e Add slider bootstrap-slider v5.2.6
Add newer version of script and add addtional properties.
2015-12-15 15:42:12 +01:00
Sebastiaan Janssen d123967b14 Merge branch 'dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI/umbraco/config/lang/no.xml
2015-12-15 15:31:47 +01:00
Mads Rasmussen 5d4f4376dd make overlay component of rich text editor link picker in property editor and grid editor 2015-12-15 15:26:07 +01:00
Mads Rasmussen 80675eee75 use new overlay component in tree picker prevalue editor 2015-12-15 15:26:07 +01:00
Mads Rasmussen 7d31bc9d35 make it easier to use itempicker and iconpicker - use submit method to submit instead of custom method - add overlay option to hide submit button. Clean up code by removing close method. 2015-12-15 15:26:07 +01:00
Mads Rasmussen a08566c04c fix media, macro and embed overlays in rte in grid 2015-12-15 15:18:33 +01:00
Mads Rasmussen fe7f73ff57 setup global ysod overlay + change error model 2015-12-15 15:18:33 +01:00
Simon Busborg 41b5ab697f Correct indention for umb-overlay 2015-12-15 15:18:33 +01:00
Simon Busborg b464637f98 Removed hardcoded text for testing 2015-12-15 15:18:33 +01:00
Simon Busborg e027689171 Added new styling standard for dialog title 2015-12-15 15:18:32 +01:00
Rune Strand fc0fe61c2f Add ysodOverlay to listview and localized dialog buttons 2015-12-15 15:18:32 +01:00
Mads Rasmussen 78e1356c03 update rich text editor to use new macro picker overlay 2015-12-15 15:18:32 +01:00
Mads Rasmussen 4dd8ab227b update grid macro picker to use new overlay component 2015-12-15 15:18:32 +01:00
Mads Rasmussen 227c6d8cb1 copy insert macro dialog to new macro picker overlay + update macro container property editor 2015-12-15 15:18:32 +01:00
Mads Rasmussen 9eefe17331 make global class for empty state texts - use in compositions dialog + list view 2015-12-15 15:18:31 +01:00
Mads Rasmussen 874da20288 user new media picker overlay component in grid image picker config 2015-12-15 15:18:31 +01:00
Mads Rasmussen a9411aa246 change grid items settings dialog to new overlay component 2015-12-15 15:18:31 +01:00
Shannon 727fd3aa17 U4-7537 File cleanup for old content type editor 2015-12-15 15:12:22 +01:00
Sebastiaan Janssen bb4994f9fc Merge pull request #935 from torerikk/dev-v7
Update Norwegian translations
2015-12-15 15:10:46 +01:00
Mads Rasmussen cfbfa2f5c9 umb-overlay: block styling of form elements 2015-12-15 15:06:45 +01:00
Mads Rasmussen e163fefd7d use new media picker component in grid media picker 2015-12-15 15:06:45 +01:00
Mads Rasmussen dc59b5b674 rename "rteembed" to "embed", save data to other property, add changes to tinymce + use new overlay component in grid embed 2015-12-15 15:06:45 +01:00
Mads Rasmussen 778522cad7 add copy of user dialog and help dialog for new overlay component 2015-12-15 15:06:45 +01:00
Mads Rasmussen ea3942f151 umb-overlay: add support for left side positioned dialogs 2015-12-15 15:06:45 +01:00
Mads Rasmussen 7ed9e9e665 decrease umb-overlay subtitle font size a bit 2015-12-15 15:06:45 +01:00
Mads Rasmussen 2302bb5438 umb-overlay: remove close from header + add support for a subtitle 2015-12-15 15:06:45 +01:00
Mads Rasmussen 74636c7d5a Fixes: U4-7490 Update umb-photo-folder to use umb-media-grid in the media picker + hide drop zone if there are images in a folder and add upload button from old media picker 2015-12-15 15:06:44 +01:00
Mads Rasmussen fba740141a copy rte embed to new overlay component 2015-12-15 15:06:44 +01:00
Mads Rasmussen 0b1854e73e switch markdown editor media picker dialog with overlay component 2015-12-15 15:06:44 +01:00
Mads Rasmussen e54a478458 Switch rich text editor media picker dialog with new overlay component 2015-12-15 15:06:44 +01:00
Mads Rasmussen 9a8273b784 Fixes: U4-7541 umbAutoResize does not work in Microsoft Edge 2015-12-15 14:51:51 +01:00
Claus c334f94d72 Fixed a few comments. 2015-12-15 14:47:19 +01:00
Claus ddf525db40 Merge branch 'AffinityID-u4-7522' into dev-v7 2015-12-15 14:43:22 +01:00
Shannon 3fa0f89dd1 U4-7134 New content type editor requires CRUD access to data types 2015-12-15 14:42:48 +01:00
Mads Rasmussen 191f82aaaa Fixes: U4-7448 Grid - Sorting view 2015-12-15 14:34:13 +01:00
Claus 9c7ef46222 Merge pull request #941 from bugsancho/dev-v7
U4-7508 - IsChildOfListView should be populated for Media items
2015-12-15 14:18:27 +01:00
Sebastiaan Janssen c813eccb45 Merge branch 'dev-v7' into 7.4.0 2015-12-15 13:53:50 +01:00
Sebastiaan Janssen eacc7f7fb3 Whoops, was supposed to be en-US by default 2015-12-15 13:50:19 +01:00
Claus f1fcb2adec Fixes: U4-7365 Content list view sorting alias is “sort” and media list view sorting alias is “sortOrder”. This gives an ysod when changing sorting in media list views.
Changed the default list view for media to be created with the correct alias in the database.
Added migration for existing databases to be updated.
2015-12-15 13:43:52 +01:00
Sebastiaan Janssen 80f597a7eb U4-7424 - Also update all other errors displayed in the frontend 2015-12-15 12:51:45 +01:00
Sebastiaan Janssen d069da8a4f Make LocalizedTextService fall back to en-GB if the key is not found in the current file 2015-12-15 12:51:03 +01:00
Shannon 050109edd7 U4-6837 New content type editor: availableCompositeContentTypes could be moved to service.
Allows for assigning compositions to doc types that are being created.
Removes unused getAssignedListViewDataType from contentTypeResource.
Removes unused getPropertyTypeScaffold from memberTypeResource.
Removes unused performContainerDelete from memberTypeResource - since member types don't support folders.
Ensures correct security for the ContentTypeController.GetAllPropertyTypeAliases and ContentTypeController.GetAvailableCompositeContentTypes.
Removes unused ContentTypeControllerBase.GetAssignedListViewDataType, this is no longer used because the list view is configured using the DataTypeController.
2015-12-15 12:25:42 +01:00
Sebastiaan Janssen 44ebd8d9ea Proper formatting of this file, only whitespace changes 2015-12-15 12:18:23 +01:00
Sebastiaan Janssen 2fd6dc3603 Merge branch 'engern-U4-7424' into dev-v7 2015-12-15 12:14:07 +01:00
Sebastiaan Janssen 0629b49112 Merge branch 'U4-7424' of https://github.com/engern/Umbraco-CMS into engern-U4-7424 2015-12-15 12:13:35 +01:00
Sebastiaan Janssen 198ba0db83 Merge branch 'dev-v7' into 7.4.0 2015-12-15 11:25:09 +01:00
Sebastiaan Janssen 4958c5a59a Merge branch 'jamescoxhead-U4-7503-Disable-X-AspNetMvc-Version-Header' into dev-v7 2015-12-15 11:21:23 +01:00
Sebastiaan Janssen 523501db8c Merge branch 'U4-7503-Disable-X-AspNetMvc-Version-Header' of https://github.com/jamescoxhead/Umbraco-CMS into jamescoxhead-U4-7503-Disable-X-AspNetMvc-Version-Header 2015-12-15 11:21:11 +01:00
Sebastiaan Janssen 6ce4354ef3 Merge branch 'dev-v7' into 7.4.0 2015-12-15 11:14:15 +01:00
Sebastiaan Janssen 23cd2b09ca Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-12-15 11:13:22 +01:00
Sebastiaan Janssen a1ff1d4543 Merge branch 'TimoPerplex-dev-v7' into dev-v7 2015-12-15 11:12:57 +01:00
Sebastiaan Janssen 1bf2a3b1bf Merge branch 'dev-v7' of https://github.com/TimoPerplex/Umbraco-CMS into TimoPerplex-dev-v7
Conflicts:
	src/Umbraco.Web/Editors/ImagesController.cs
2015-12-15 11:12:13 +01:00
Shannon Deminick 8ce8455773 Merge pull request #950 from umbraco/temp-U4-7373
Fixes U4-7373 Error notifications shown are hidden underneath the dialogs
2015-12-15 10:53:55 +01:00
Shannon 26b70a4a4e Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	build/UmbracoVersion.txt
	src/SolutionInfo.cs
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/umbraco/config/lang/de.xml
2015-12-15 10:40:52 +01:00
Shannon 8598ab565c Fixes: U4-7536 Sign-out in back office will call all ASP.Net identity middleware sign out methods
publicises a few things too.
2015-12-15 10:34:11 +01:00
Simon Busborg 31147fa8d1 missing comma 2015-12-15 10:26:22 +01:00
Simon Busborg d75f8bf1bd added wrapper to directive 2015-12-15 10:24:38 +01:00
Simon Busborg ecb6c8e52c Fix for U4-7373 Error notifications shown are hidden underneath the dialogs
http://issues.umbraco.org/issue/U4-7373
2015-12-15 10:08:19 +01:00
kgiszewski dada91f006 Fix u4-7534 2015-12-14 13:35:46 -05:00
Rasmus John Pedersen a56936b6f9 Fixes bug with macro multiline parameters 2015-12-14 13:44:57 +01:00
Claus 3cdd650b66 Merge pull request #940 from umbraco/temp-U4-7445
Temp u4 7445
2015-12-14 11:31:02 +01:00
Simon Busborg 8bd3b25a66 Fix for: http://issues.umbraco.org/issue/U4-7518
New list view (umb-table) misses published/unpublished state
2015-12-11 14:26:17 +01:00
Andrey Shchekin b3e21e0827 U4-7522 Removed unnecessary exception from DeepCloneHelper. 2015-12-10 14:33:52 +13:00
Rune Strand 10b828379b Element hinzufügen! 2015-12-09 09:31:38 +01:00
James Coxhead 739ff33ce1 Removed X-AspNet-Version and X-AspNetMvc-Version headers 2015-12-08 21:44:40 +00:00
James Coxhead f27a726a6e Disabled the X-AspNetMvc-Version header 2015-12-08 21:19:41 +00:00
Alexander Todorov aed906e682 U4-7508 - IsChildOfListView should be populated for Media items, similarly to Content items 2015-12-08 18:41:59 +02:00
Sebastiaan Janssen 220446afec Adds some more dependencies so we upgrade those properly when necessary 2015-12-08 14:24:52 +01:00
Sebastiaan Janssen a101367292 This would've stayed here for years and be irrelevant, we can link to twitter profiles in the docs on Our 2015-12-08 14:02:43 +01:00
Sebastiaan Janssen e90fedb835 Bumps version 2015-12-08 13:54:57 +01:00
Sebastiaan Janssen d5f9dfecc4 U4-7496 Backoffice dropdowns quit working in Chrome after update to v47.0.2526.73
#U4-7496 Fixed
2015-12-08 13:54:56 +01:00
Rune Strand 7431ed4db1 Better wording 2015-12-08 13:42:05 +01:00
Claus cbb84f79d1 Merge pull request #799 from esn303/patch-1
Major revamp with keys added and texts fixed everywhere
2015-12-08 11:40:42 +01:00
Rune Strand cb07ec3157 Add dialog localization and new keys to all lang 2015-12-07 18:07:08 +01:00
Sebastiaan Janssen 7a4b7c25dd Can't use higher versions of angular-dynamic-locale
See: https://github.com/lgalfaso/angular-dynamic-locale/issues/82
2015-12-07 13:00:57 +01:00
Sebastiaan Janssen a162974bf9 Merge remote-tracking branch 'refs/remotes/origin/dev-v7' into 7.4.0 2015-12-07 11:51:34 +01:00
Sebastiaan Janssen a7377d0686 Merge pull request #939 from hartvig/dev-v7
Fixing a little typo as reported by Chris Houston
2015-12-07 11:49:28 +01:00
hartvig 68a4749917 Fixing a little typo 2015-12-07 11:11:02 +01:00
Sebastiaan Janssen ff61112c18 Updates installer background 2015-12-07 10:32:24 +01:00
Sebastiaan Janssen a427ca6d4e Merge remote-tracking branch 'refs/remotes/origin/dev-v7' into 7.4.0 2015-12-07 10:26:26 +01:00
Sebastiaan Janssen 81763bf4d8 Merge pull request #938 from hartvig/dev-v7
Adding number of countries to the installer faq
2015-12-07 10:25:09 +01:00
hartvig 0e0bc9fbef Adding number of countries to the installer faq 2015-12-07 10:11:35 +01:00
Claus 964d9a9328 Closing break tag. 2015-12-06 17:55:20 +01:00
Rune Hem Strand 93f199b5e3 Add localization to Grid (en) 2015-12-04 13:23:24 +01:00
Sebastiaan Janssen 453efc02a5 Removes old obsoleted ping.aspx 2015-12-04 11:10:12 +01:00
Wincent e0ee786271 Re-enables support for non media thumbnails 2015-12-04 09:31:39 +01:00
Wincent 2664a75c84 Removed generation of old thumbnails 2015-12-03 17:33:40 +01:00
Wincent 5d9bde807e Changes GetBigThumbnail to image processor in mediahelper.service.js and fileupload.controller.js
Changed ImageController.GetBigThumbnail to redirect
Changed thumbnail paths to include rnd equal to UpdateDate
2015-12-03 17:27:47 +01:00
Mads Rasmussen 58a68bba97 Fixes: U4-7387 bug preventing drag and drop upload in media library card layout 2015-12-03 13:24:09 +01:00
Stephan 22eea2b7db Fix tests 2015-12-03 12:56:59 +01:00
Sebastiaan Janssen fe88e4df5f Merge branch 'temp-U4-6659' into 7.4.0 2015-12-03 12:18:58 +01:00
Sebastiaan Janssen 34156ae7bb Merge branch '7.4.0' into temp-U4-6659 2015-12-03 12:18:46 +01:00
Sebastiaan Janssen f2d5cff66a Merge branch 'konami-easteregg' into 7.4.0 2015-12-03 12:15:43 +01:00
Sebastiaan Janssen 0fc41d0552 Merge branch '7.4.0' into konami-easteregg 2015-12-03 12:15:23 +01:00
Sebastiaan Janssen b09aaee52d Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2015-12-03 11:49:23 +01:00
Mads Rasmussen 62e4bebab6 Fixes: U4-4051 Bug when querying for root node with the remembered node id 2015-12-03 11:45:59 +01:00
Sebastiaan Janssen 36ef7a6505 Merge branch 'temp-U4-7366' into 7.4.0 2015-12-03 10:43:56 +01:00
Sebastiaan Janssen e293051498 Merge branch '7.4.0' into temp-U4-7366 2015-12-03 10:43:10 +01:00
Sebastiaan Janssen 34a95353c2 Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0 2015-12-03 10:31:37 +01:00
Mads Rasmussen dbc519a9cf Fixes: U4-7478 Set cookie to remember last chosen list view layout 2015-12-03 10:14:51 +01:00
Mads Rasmussen 6729f39b4e Fixes: U4-7474 rename member tree path + set header name not to be locked 2015-12-03 09:44:52 +01:00
Sebastiaan Janssen a3dd51ba98 Remove dead code 2015-12-03 09:44:29 +01:00
Sebastiaan Janssen 109aff737b Fixes spelling error 2015-12-03 09:43:50 +01:00
Sebastiaan Janssen cd369bf078 Move some repeated GUIDs to a constants class 2015-12-03 09:43:33 +01:00
Sebastiaan Janssen c7aa3d63fb Merge branch 'temp-U4-7372' into 7.4.0
Conflicts:
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixZeroOne/UpdatePropertyTypesAndGroups.cs
2015-12-03 09:22:19 +01:00
Rune Strand a6b1239138 Merge branch 'temp-U4-7366' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7366 2015-12-02 21:24:23 +01:00
Rune Strand e4365af312 Fixes full width drop overlays 2015-12-02 21:24:08 +01:00
Mads Rasmussen ab884b00bf make entire cell placeholder clickable 2015-12-02 21:21:54 +01:00
Tor-Erik Klausen 0370f9a1c8 Update Norwegian translations
Adds missing translations and removes some old ones. Based on current
en.xml
2015-12-02 20:09:06 +01:00
Rune Strand 41bf7fc53d Add drop overlay for empty cells 2015-12-02 17:23:59 +01:00
Rune Strand 914343e00c Add check if drop area is actually a valid cell 2015-12-02 15:43:47 +01:00
Rune Strand b5d12aca5e Sort into empty cells 2015-12-02 15:19:09 +01:00
Sebastiaan Janssen d863ff364e U4-7321 Update Doc type edit link on content item for 7.4 since it will be different
#U4-7321 Fixed
2015-12-02 14:41:37 +01:00
Mads Rasmussen b3988e81f5 Merge pull request #930 from umbraco/temp-U4-6924
Fixes: U4-6924 Ensure drag/drop media uploads show notifications - since the way this works has been overhauled in 7.4
2015-12-02 13:46:08 +01:00
Sebastiaan Janssen 4d4a7b5078 U4-7343 Change the order of trees under Settings: Make "Document Type" the first item in the settings section
#U4-7343 Fixed
2015-12-02 13:33:40 +01:00
Mads Rasmussen 160fc5effd Merge pull request #929 from umbraco/temp-U4-7387
Fixes: U4-7387 It's not possible to select folders in listview in media section
2015-12-02 13:29:46 +01:00
Claus e4a0dc5d55 Fixed indentation. 2015-12-02 09:52:35 +01:00
Mads Rasmussen e242474496 fix media picker merge mistake 2015-12-01 19:40:05 +01:00
Rune Strand 879ea73195 Updates jQuery UI to vLatest #woohoo 2015-12-01 15:51:15 +01:00
Sebastiaan Janssen e1c1a99131 Fix merge mistake 2015-12-01 15:21:52 +01:00
Sebastiaan Janssen 9949e2676d Merge branch 'dev-v7' into 7.4.0
Conflicts:
	build/UmbracoVersion.txt
	src/SolutionInfo.cs
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Web.UI.Client/bower.json
	src/Umbraco.Web.UI.Client/src/less/main.less
	src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.html
	src/Umbraco.Web.UI.Client/src/views/common/dialogs/user.html
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.html
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.html
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/config/Dashboard.Release.config
	src/Umbraco.Web/Umbraco.Web.csproj
2015-12-01 15:16:57 +01:00
Mads Rasmussen 4a60acb8f3 Drag and drop: show message when control is not allowed in cell 2015-12-01 14:54:20 +01:00
Mads Rasmussen fe9954b674 Fixes: U4-7447 Grid - Touch support 2015-12-01 11:23:10 +01:00
Sebastiaan Janssen 64dac39bae Merge branch 'temp-U4-7220' into dev-v7 2015-12-01 10:35:38 +01:00
Sebastiaan Janssen 6040d149ec Merge branch 'dev-v7' into temp-U4-7220 2015-12-01 09:57:44 +01:00
Mads Rasmussen bf037b3dd7 Fixes: U4-7440 Grid - Controls overlay is cut of by the tree 2015-11-30 19:34:23 +01:00
Claus bfbc6595fb Fixed a few more split separators. 2015-11-30 19:29:23 +01:00
Claus 25d8fc7a13 Fixing split separator for thumbnailSizes in FileUploadPropertyValueEditor. 2015-11-30 19:18:57 +01:00
Claus e11b5c3fdb Fixes: U4-7220 Upgrading 4.9.0 to 7.3.0 fails due to missing UniqueID field on cmsPropertyType table
Migration happening in 6.0.2 failing due to use of a PropertyTypeDto type where we have added UniqueId in 7.3.0.
2015-11-30 18:13:51 +01:00
Mads Rasmussen 09f0f951a1 Fixes: U4-7444 Grid - Place Richtext editor toolbar in control (static positioning) + remove sticky when scrolling 2015-11-30 11:30:31 +01:00
Mads Rasmussen c9141d8815 set control title bar animation to linear 2015-11-30 09:42:14 +01:00
Mads Rasmussen 4673832f12 minimize number of function calls when checking for item config and item active children 2015-11-30 09:35:21 +01:00
engern 348694d9d4 Use same color as the rest 2015-11-29 12:22:22 +01:00
engern 855e3b3dcc Add the possibility to sort the macro parameters 2015-11-29 12:06:19 +01:00
engern 5a8ea4aa41 Merge branch 'dev-v7' of https://github.com/engern/Umbraco-CMS into dev-v7 2015-11-29 09:38:36 +01:00
engern 4bd465f666 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-11-29 09:38:20 +01:00
Tommy Enger ad591c07cf Merge pull request #1 from umbraco/dev-v7
Update from original
2015-11-29 09:37:54 +01:00
Shannon 87100feb3d Fixes: U4-7467 Umbraco 7.3.2 Clean install, OWIN error after database creation and bumps version 2015-11-27 21:23:24 +01:00
Shannon Deminick eae74b0e20 Merge pull request #931 from lars-erik/fix-u4-7329
Actually save the domain
2015-11-27 16:56:07 +01:00
Shannon 610efe552d Bumps version 2015-11-27 16:54:02 +01:00
Shannon c4860a490f Ensures that GetUserSecondsMiddleWare uses the SystemClock for UTC Now, ensures that it only extends the ticket when necessary and not everytime this middleware is called - the same logic that OWIN normally renews tickets with, this means the cookie is not written everytime this request is made. 2015-11-27 16:43:02 +01:00
Shannon 8e6bbc3df9 Ensures that written cookies are done so consistently based on the UmbracoBackOfficeCookieAuthOptions. Ensures that when a webforms page requests token renewal that the token is not always renewed for the request, it checks if the tokens expiry correctly and only renews when necessary so the cookie is not written each time. Fixes the ForceRenewalCookieAuthenticationHandler to only write a cookie if the request is for a request that is not normally auth'd (i.e. is a webforms form that exists outside the normal /umbraco path ... legacy). 2015-11-27 16:25:39 +01:00
Lars-Erik Aabech c16d0b77c2 Actually save the domain 2015-11-27 12:59:15 +01:00
Mads Rasmussen 894a5cc758 add options to hide filter in item picker overlay + hide filter in control picker in grid 2015-11-27 10:18:02 +01:00
Shannon 3ebdfcc238 fixes upgrade script 2015-11-26 17:14:56 +01:00
Stephan 6f8243265b Fix persistence layer issues with unique identifiers 2015-11-26 13:24:40 +01:00
Sebastiaan Janssen 2c4403f892 Fixes image that was missing from the build 2015-11-26 13:08:59 +01:00
Shannon fd66f08520 Fixes setting auth cookie during install, removes some try/catch/swallow with some error messaging, converts some String -> string and == false updates. 2015-11-26 13:07:22 +01:00
Shannon 8e50f4968f Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-11-26 12:02:17 +01:00
Shannon 9acbe09449 fixes the tmh dynamic local version, the bower version the build server runs has an issue! 2015-11-26 12:02:08 +01:00
Sebastiaan Janssen 4baaafd006 Also remove change password dashboard from nuget package 2015-11-26 11:57:37 +01:00
Shannon 3f7293304d removes password change dashboard from release 2015-11-26 11:55:42 +01:00
Shannon f62581bd38 reverts more of the caps lock 2015-11-26 11:39:49 +01:00
Shannon 9782e3711e Revert "Update bower.json with ngCapsLock"
This reverts commit f0e1460550.

Conflicts:
	src/Umbraco.Web.UI.Client/bower.json
2015-11-26 10:54:43 +01:00
Shannon 1f4ba9cfdc ignores file that shouldn't be there 2015-11-26 10:36:15 +01:00
Shannon ba4f0cc6a4 remove file that shouldn't be checked in 2015-11-26 10:35:28 +01:00
Shannon fc84821e8b fixes U4-6340 Partial view macro with parameters not working in RTE - to use a Model to post with the same Action name 2015-11-26 10:32:43 +01:00
Shannon Deminick 0fcf0b505a Merge pull request #922 from engern/U4-6340
Fixes U4-6340 : Partial view macro with parameters not working in RTE and Grid (backend)
2015-11-26 09:54:24 +01:00
Mads Rasmussen f2f9283a25 Merge branch 'temp-U4-7366' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7366 2015-11-26 09:45:45 +01:00
Simon Busborg 347d5070a2 added hover state to -placeholder in neutral state 2015-11-26 09:44:43 +01:00
Mads Rasmussen 07cb0408dd clean up scope watchers 2015-11-26 09:39:52 +01:00
Simon Busborg 27dbc1eefb Added more visible border to placeholder when row has active-child 2015-11-26 09:18:41 +01:00
Rune Strand 5d3f3fca79 Merge branch 'temp-U4-7366' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7366 2015-11-25 23:07:50 +01:00
Rune Strand b0b8eb857c Updates U4-7438 Grid - Sorting of controls/editors
Drag n drop between cells
2015-11-25 23:07:19 +01:00
Mads Rasmussen 7057c325cb fix performance issue with outside click event - only bind click when element is active 2015-11-25 22:25:41 +01:00
Rune Strand 3a5d7f0442 Fixes U4-7438 Grid - Sorting of controls/editors 2015-11-25 21:15:09 +01:00
Shannon d300146cf6 trips content/media names, makes sure that the content type editor when rendering template names html encodes the names. 2015-11-25 20:44:53 +01:00
Shannon c8482b9f59 Revert "Merge pull request #875 from Phosworks/U4-7312"
This reverts commit 14265fc964, reversing
changes made to 18c3345e47.

Conflicts:
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js
	src/Umbraco.Web/Editors/ImagesController.cs
2015-11-25 20:27:58 +01:00
Shannon b7795e19ef Changes bigthumbnail pr to not cache per second, just minute 2015-11-25 20:21:24 +01:00
Shannon c97617f5b5 Fixes: U4-7461 xss vulnerability in content type editor 2015-11-25 20:15:28 +01:00
bjarnef b2d4eccf7b Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-11-25 20:13:15 +01:00
Shannon Deminick 14265fc964 Merge pull request #875 from Phosworks/U4-7312
Changed web api GetBigThumbnail to image processor
2015-11-25 19:52:14 +01:00
Shannon 18c3345e47 Fixes U4-7459 XSRF protection bypass - ensures tokens are checked for the non-editor api controllers 2015-11-25 19:39:24 +01:00
Mads Rasmussen 8bfb77d3fe add client side validation for max file size in list view grid-layout, list view list-layout and media picker 2015-11-25 19:18:14 +01:00
Mads Rasmussen 89fd42be25 add server error to html 2015-11-25 19:16:14 +01:00
Shannon 924a016ffe Fixes U4-7457 Server side request forgery (xsrf) in feedproxy.aspx 2015-11-25 18:05:57 +01:00
Simon Busborg dbbccb4e40 Ensure drag/drop media uploads show notifications - since the way this works has been overhauled in 7.4
Awaits `maxFileSize` variable from U4-7394 ( http://issues.umbraco.org/issue/U4-7394 )
2015-11-25 15:46:34 +01:00
Claus a02b41e9d2 Merge pull request #927 from umbraco/temp-U4-7307
U4-7307 Windows Authentication prompts for Windows login after Umbrac…
2015-11-25 15:22:36 +01:00
Simon Busborg 66ee3503a5 UI love to the different states of the grid – much polish, such click, wow colors 2015-11-25 15:09:02 +01:00
Mads Rasmussen 9a8501c90c Fixes: U4-7387 It's not possible to select folders in listview in media section 2015-11-25 13:51:57 +01:00
Shannon 068c4a0b16 Fixes PR for U4-7362 Add message to login screen if Caps Lock is on 2015-11-25 11:22:12 +01:00
Shannon Deminick f7d28d769a Merge pull request #886 from bjarnef/dev-v7-U4-7362
Add message to login screen if Caps Lock is on
2015-11-25 11:01:47 +01:00
Claus 9a07e206d8 Merge pull request #874 from andydale1982/U4-7323_(#871)‏
U4 7323 (#871)‏
2015-11-25 10:51:41 +01:00
Shannon Deminick 0edb71f4aa Merge pull request #917 from bjarnef/dev-v7-move-umb-version-in-dialog
Move Umbraco version label to header in user dialog
2015-11-25 10:51:36 +01:00
Shannon Deminick b376207ef6 Merge pull request #868 from opelpanfan/UKFest-U4-7324
U4-7324 Member Picker search results doesn't show correct icons
2015-11-25 10:33:59 +01:00
Claus ea12a883f3 Merge pull request #925 from umbraco/temp-U4-7394
Fixes: U4-7394 Missing maxFilseSize variable from web.config in the b…
2015-11-25 09:43:55 +01:00
Simon Busborg 9b1983a239 Added labels to show when styles/config are added to rows/cells 2015-11-25 09:27:11 +01:00
Mads Rasmussen 5797c65a1d Fixes: U4-7446 Grid - Confirm dialog on delete row/cell 2015-11-25 09:24:19 +01:00
kiasyn dbece874dd U4-7400 - Datepicker is not updating scope model value in time for 3rd party plugins
Force set scope model value when the datetime changes, rather than just on formsubmit. This means that 3rd party plugins (such as grids) can use this editor.
2015-11-25 10:25:00 +13:00
Shannon 6d0aa824ad U4-7307 Windows Authentication prompts for Windows login after Umbraco login 2015-11-24 16:31:18 +01:00
Mads Rasmussen 776a9bc8e2 Fixes: U4-7442 Grid - Hide Layout picker when only one layout is configured 2015-11-24 14:03:53 +01:00
Claus 89afacf161 Merge pull request #915 from umbraco/temp-U4-7380
U4-7380 Backoffice timeouts after 7.3.1  upgrade
2015-11-24 11:35:01 +01:00
Claus 0fa6940bb6 Merge branch 'arknu-U4-6657-mediapicker' into dev-v7 2015-11-24 10:37:11 +01:00
Claus 1353b0a592 Reordering flex properties - recess module crashes with out of memory exception if they are in the other order. 2015-11-24 10:35:54 +01:00
Claus 617fec171f Merge branch 'U4-6657-mediapicker' of git://github.com/arknu/Umbraco-CMS into arknu-U4-6657-mediapicker 2015-11-24 10:33:04 +01:00
Claus 2c63866cb3 Merge pull request #909 from umbraco/U4-7270-1
Creates an IAsyncRenderMvcController which can be used instead of IRe…
2015-11-24 10:09:45 +01:00
Sebastiaan Janssen 18d3aa9ee2 Merge pull request #926 from kiasyn/patch-1
Remove unnecessary ToLowerInvariant call from PreviewMode
2015-11-23 22:17:07 +01:00
kiasyn f83c966e55 Remove unnecessary ToLowerInvariant call from PreviewMode
Text was being set lowercase and then injected with the preview badge markup. This meant that things such as script tags were being lowercased, breaking the javascript.
2015-11-24 10:02:14 +13:00
Mads Rasmussen c81b034568 Fixes: U4-7441 Grid - Hide row picker when Grid has content (show + icon) 2015-11-23 19:57:15 +01:00
Simon Busborg 692e09871a Comments, TODOs, and general cleanup in umb-grid 2015-11-23 16:46:59 +01:00
Tommy Enger de41a1f1ca Clean up the code
DRY
2015-11-23 16:29:09 +01:00
Tommy Enger c9f57c6ce3 Split Get and Post
Split Get and Post into 2 separate methods to maintain backwards
compability
2015-11-23 15:52:36 +01:00
Shannon bb3a9c0e2e Fixes: U4-7394 Missing maxFilseSize variable from web.config in the backoffice 2015-11-23 15:19:13 +01:00
Simon Busborg e15b11389a Merge branch '7.4.0' into temp-U4-7366 2015-11-23 15:08:01 +01:00
Mads Rasmussen 522d9d148f Fixes: U4-7449 Cannot create datatype in new content type editor 2015-11-23 15:03:26 +01:00
Simon Busborg 36361bf9e8 Changed dropzone UI, to display link. Pulled SVG source from file into image file. 2015-11-23 14:13:12 +01:00
Claus f09e3c206c Fixed formatting... 2015-11-23 13:45:17 +01:00
Claus 2415403149 Fixes: U4-7392 It's not possible to upload folders in the media root 2015-11-23 13:43:31 +01:00
Rune Strand e4660115cd Dirty hack for Frankfurt 2015-11-23 13:05:41 +01:00
engern 54ab26e2ed Simplifying thge code even further
Realized that we don't need to convert the exisitng dictionary to a new
dictionary.
2015-11-21 14:00:58 +01:00
engern 31dc1b2cdb Fixes U46340 2015-11-21 13:20:13 +01:00
engern 07c714fd11 Fixes U4-7424
Add the possibilty to change the error message when a macro partial view
fails to render.
2015-11-21 11:33:46 +01:00
Darren Ferguson 1cd00cb6f6 change the text "Reload nodes" to just "Reload" my editors don't know what a node is! 2015-11-20 18:11:13 +00:00
Stephan 0f0b612de3 Refactor EntityContainer with (sort-of) proper repository 2015-11-20 18:37:00 +01:00
Stephan 3fe235fa35 Sanitize content types .ContentTypeComposition and .PropertyTypes 2015-11-20 18:36:55 +01:00
Stephan ee72621042 Fix development server port 2015-11-20 18:36:54 +01:00
Stephan 67c7ed1810 Fix propertyGroup.ParentId migration 2015-11-20 18:36:53 +01:00
Claus d4b9a711c6 Merge pull request #919 from umbraco/temp-U4-4641
Fixes: U4-4641 Feature Request:  template and code editors should have insert Section, Define section buttons
2015-11-20 13:41:50 +01:00
Claus 9521742254 Fixes to MultiNodePicker when using media. 2015-11-20 13:17:28 +01:00
Claus 9fee3f5873 Merge pull request #918 from umbraco/temp-U4-5764
Related to: U4-5764 - adding in Open button on content/media picker
2015-11-20 12:09:21 +01:00
Claus cb10578e19 Merge branch 'Nicholas-Westby-feature/U4-5764-node-picker-info' into temp-U4-5764 2015-11-20 11:52:25 +01:00
Claus cdc4435f2d Merge branch 'feature/U4-5764-node-picker-info' of git://github.com/Nicholas-Westby/Umbraco-CMS into Nicholas-Westby-feature/U4-5764-node-picker-info 2015-11-20 11:47:48 +01:00
Mads Rasmussen 4adc645580 Merge branch '7.4.0' into temp-U4-7366 2015-11-19 22:19:52 +01:00
bjarnef a885840b9f Move Umbraco version label to header in user dialog 2015-11-19 21:55:54 +01:00
Rune Strand 664f80364b Add content visible when sorting
Add cell sorting
2015-11-19 21:54:59 +01:00
bjarnef 62173cef58 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-11-19 21:12:24 +01:00
Shannon Deminick e5b0a4d98c Merge pull request #854 from Spijkerboer/UKFest-U4-7322
Uk fest u4 7322
2015-11-19 19:26:53 +01:00
Shannon Deminick 9479d63cba Merge pull request #899 from Acentrage/U4-7219
Fixes U4-7219
2015-11-19 19:24:24 +01:00
Shannon 4c544acb42 fixes links so that working with vdirs works too. 2015-11-19 19:21:55 +01:00
Shannon Deminick c7c5f481f1 Merge pull request #879 from danieland/U4-4794--nodebug
U4 4794  nodebug
2015-11-19 19:10:35 +01:00
Shannon 2ba7cdc789 Fixes: U4-6659 Examine: Specific doctype not being indexed 2015-11-19 19:06:31 +01:00
Shannon 5e8e62cbf7 missing csproj save 2015-11-19 18:29:11 +01:00
Shannon 555b520a0c Cleans up the usages of auth cookies. OWIN is in charge of auth cookies but because we have Webforms, WebApi, MVC and OWIN, they all like to deal with cookies differently. OWIN should still be solely in charge of the auth cookies, so the auth extensions are cleaned up, the renewal now works by queuing the renewal and we have custom middleware detect if a force renewal has been queued and we renew the auth cookie there. Have obsoleted a few methods that should not be used that write auth tickets directly (this is purely for backwards compat with webforms). All of these changes now ensure that the auth cookie is renewed consistently between Webforms, WebApi, MVC and OWIN. Some changes also include ensuring that OWIN is used to sign out. 2015-11-19 18:12:21 +01:00
Simon Busborg 8053db32b6 code comments 2015-11-19 15:40:38 +01:00
Sebastiaan Janssen 16f1fa1678 Merge branch 'dev-v7' into 7.4.0 2015-11-19 14:44:54 +01:00
Sebastiaan Janssen 3e2d59e526 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-11-19 14:43:45 +01:00
Sebastiaan Janssen 9d3e967c2a Ignore test that keeps crapping out on build server 2015-11-19 14:43:35 +01:00
Shannon 71ec09486d Reverts the 'fix' from U4-7118 since it is incorrect. Updates the sliding expiration of the cookie/ticket when the user is supposed to be always logged in to 30 minutes in case the timeout is actually set very low in config. 2015-11-19 14:17:06 +01:00
Claus 8dadc92aa8 Fixed migration causing issues when upgrading from a site pre-migrations-table to version 7.3.2. 2015-11-19 12:01:46 +01:00
Shannon f472f5d950 Ensures that OWIN signout method is called - this ensures that any auth middleware configured for the current user is called for sign out. Updates our cookie middleware provider to also ensure that our custom cookies are cleared when signing out with OWIN. 2015-11-19 11:57:24 +01:00
Simon Busborg 775a6f80ea Added comments to support the changes 2015-11-19 11:47:49 +01:00
Simon Busborg 5bf8b8ecba Used less function 'fade' instead of random color 2015-11-19 11:44:33 +01:00
Simon Busborg 397ef32665 Added hover & active state to input-label--small 2015-11-19 11:40:29 +01:00
Simon Busborg 2634e33f51 Used @fontSizeLarge variable to determine font-size for panel-dialog--header 2015-11-19 11:27:56 +01:00
Simon Busborg 6e27caa547 Added comments and notes 2015-11-19 11:11:09 +01:00
Simon Busborg 9c027dcdbc some ui love for the panel dialogs 2015-11-19 10:32:17 +01:00
bjarnef f3876b86dc Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-11-19 00:38:32 +01:00
Shannon Deminick 58c3dfac1c Merge pull request #913 from Nicholas-Westby/feature/u4-7425-forms-constant-comment
Fixed typo for "forms": http://issues.umbraco.org/issue/U4-7425
2015-11-19 00:34:54 +01:00
bjarnef cd3aaa47ca Add retina version of Umbraco logo in login screen 2015-11-19 00:25:05 +01:00
Nicholas-Westby dcf59d2b17 Fixed typo for "forms": http://issues.umbraco.org/issue/U4-7425 2015-11-18 14:29:10 -08:00
bjarnef 71099514cb Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-11-18 22:00:33 +01:00
Sebastiaan Janssen 887111318f Update install facts 2015-11-18 20:35:36 +01:00
Sebastiaan Janssen d0865017d1 Merge branch 'dev-v7' into 7.4.0 2015-11-18 19:42:13 +01:00
Sebastiaan Janssen bf9755b27c Don't end response so people can actually hook into PostRequestHandlerExecute 2015-11-18 19:41:20 +01:00
Sebastiaan Janssen aca181b32e U4-7410 Version issue with MySql.Data after upgrade to 7.3.1.
#U4-7410 Fixed
2015-11-18 19:39:10 +01:00
Shannon Deminick 886347e763 Merge pull request #912 from lars-erik/fix-u4-7268
Support generic CultureInfo as language culture
2015-11-18 18:26:09 +01:00
Shannon Deminick 9fa606e065 Merge pull request #907 from umbraco/temp-U4-7414
U4-7414 Deleted tab's properties should become generic properties
2015-11-18 17:01:02 +01:00
Shannon e40ac44afd updates test to reflect the instructions to replicate the original issue U4-7414 2015-11-18 17:00:27 +01:00
Shannon 48603fb840 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-11-18 16:07:10 +01:00
Shannon f824439180 Merge branch 'UKFest-U4-4792' of https://github.com/opelpanfan/Umbraco-CMS into opelpanfan-UKFest-U4-4792
Conflicts:
	src/Umbraco.Core/Services/ContentService.cs
2015-11-18 16:07:01 +01:00
Shannon Deminick b3616c9f8c Merge pull request #911 from umbraco/temp-U4-4792
Fixes: U4-4792 Ancestors() on IContent throws "Object reference not set to an instance of an object."
2015-11-18 16:04:22 +01:00
Shannon 48383f2e7a updaes null check and ensures the path isn't pre-set in the withidentity overload 2015-11-18 16:04:01 +01:00
Shannon cb98385242 updates content/media service methods - null checks for parent IContent, dosn't use Parent() syntactic sugar methods, removes path creation in the WithIdentity methods. 2015-11-18 15:52:32 +01:00
Shannon 916bad82df Ensures that the RenderActionInvoker isn't doing anything special so that MVC takes care of everything regarding async vs non-async and any controller descriptor/action descriptor lookups and cache. Creates a RenderIndexActionSelectorAttribute - this is used to decorate the underlying RenderMvcController.Index action. MVC will call into this method to check if the MethodInfo is valid, we then do a quick comparison of types, if the current type is the same as the reflected type, this means that the Index action has been overridden or there is no custom controller... lets use it. If the types don't match we'll do a simple reflected lookup to check if the reflected controller type (current controller) has more than one index action, if so, it means that a custom controller is in play and it has a custom index action... so we won't use the base class action and then it's up to MVC to find any other matching Index action based on the current request parameters. Added some tests for this too. 2015-11-18 14:59:29 +01:00
Claus 29ec8cb2d3 Merge pull request #857 from gerwinbouwhuis/UKFest-U4-5581
Uk fest u4 5581
2015-11-18 14:32:52 +01:00
Mads Rasmussen 813171e6ae remove styles which overwrite lists styles in control overlay 2015-11-18 14:16:33 +01:00
Lars-Erik Aabech 04900337c7 Support generic CultureInfo as language culture 2015-11-18 14:13:32 +01:00
Rune Strand 8d88394cf7 Move sortable init to row title 2015-11-18 13:37:29 +01:00
Rune Strand 46951cb79f Merge branch 'temp-U4-7366' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7366 2015-11-18 12:14:09 +01:00
Rune Strand eff0ef027a Add cloned content when sorting 2015-11-18 12:13:51 +01:00
Mads Rasmussen 2922bf5ac8 Merge branch 'temp-U4-7366' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7366 2015-11-18 12:01:58 +01:00
Mads Rasmussen 6f15b9fb1e deselect everything when clicking outside a row 2015-11-18 12:01:24 +01:00
Mads Rasmussen 72311a7808 set blue background on active rows 2015-11-18 12:01:00 +01:00
Rune Strand 6fa94b4f5d More sortable styling 2015-11-18 09:33:34 +01:00
Claus 1433685160 MediaService assigns Path when creating media objects. 2015-11-18 09:26:45 +01:00
Rune Strand 15426193a2 Merge branch 2015-11-18 09:24:58 +01:00
Sebastiaan Janssen 214e4beb2f Merge branch 'dev-v7' into 7.4.0 2015-11-17 18:51:29 +01:00
Stephan c5994ed54a Fix previous commit 2015-11-17 17:25:01 +01:00
Shannon 9fd80d791a Creates an IAsyncRenderMvcController which can be used instead of IRenderMvcController if developers want access to an async Index action. 2015-11-17 17:05:00 +01:00
Stephan 4c8da5cd48 Fix test due to various changes 2015-11-17 16:55:15 +01:00
Stephan eb5589e064 Remove PropertyGroup.ParentId, sanitize Property groups/types 2015-11-17 16:55:14 +01:00
Stephan aaffa01f36 Implement PropertyGroup.Key (with migration)
Conflicts:
	src/Umbraco.Core/Umbraco.Core.csproj
2015-11-17 16:55:13 +01:00
Stephan acd64cc776 Replacing ContentTypeBase PropertyGroups/Types entirely should dirty the ppty 2015-11-17 16:55:12 +01:00
Stephan c7474487c9 Prepare EntityContainer for UniqueID 2015-11-17 16:55:11 +01:00
Stephan 467f001944 Cleanup migrations 2015-11-17 16:55:10 +01:00
Stephan 12a38ff7b9 Implement GUID constants 2015-11-17 16:55:09 +01:00
Stephan d20028036e Fix new ContentType editor rebindCallback 2015-11-17 16:55:08 +01:00
Stephan f5f9cb676c Fix CultureInfo leak in UmbracoApplicationBase too. 2015-11-17 16:54:24 +01:00
Claus 04e2d2370a Fixes: U4-4792 Ancestors() on IContent throws "Object reference not set to an instance of an object." 2015-11-17 16:49:01 +01:00
Stephan 8d00d931b0 U4-7414 Deleted tab's properties should become generic properties 2015-11-17 16:36:57 +01:00
Shannon Deminick 2998ad8cea Merge pull request #873 from AffinityID/u4-7352
U4-7352 Fixed exception logging in UmbracoDatabase.
2015-11-17 16:21:18 +01:00
Shannon Deminick 46c15ef28f Merge pull request #877 from cheeseytoastie/UKFest-7341
Ukfest 7341
2015-11-17 16:19:35 +01:00
Shannon 5c1a10e1f9 re-fixes the jquery bower build 2015-11-17 14:36:05 +01:00
Claus 2b369a57d8 Merge pull request #864 from andycyberian/UKFest-U4-6980
Uk fest u4 6980
2015-11-17 14:25:38 +01:00
Sebastiaan Janssen da479430d4 Merge branch 'dev-v7' into 7.4.0 2015-11-17 13:49:21 +01:00
Claus c37a6bb928 Merge pull request #870 from JJCLane/UKFest-U4-6094
Adds a check to include users in the send to translation list that ha…
2015-11-17 13:48:01 +01:00
Sebastiaan Janssen 05c592860d Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	build/UmbracoVersion.txt
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Web.UI.Client/src/views/common/dialogs/user.html
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.controller.js
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2015-11-17 13:43:19 +01:00
Claus 6e53291877 Fixed up a few things. 2015-11-17 13:42:00 +01:00
Claus bb78f756c7 Merge branch 'Jeavon-U4-4641' into temp-U4-4641 2015-11-17 12:47:18 +01:00
Claus ffb0de4050 Merge branch 'U4-4641' of git://github.com/Jeavon/Umbraco-CMS into Jeavon-U4-4641 2015-11-17 12:46:24 +01:00
Stephan 6506c1109f Implement ContentTypeBase.MovePropertyType support for null group 2015-11-17 12:02:36 +01:00
Stephan bca74790ca Implement IFileService.GetTemplate(Guid) 2015-11-17 12:02:35 +01:00
Claus 0fecad9867 Merge pull request #906 from umbraco/temp-U4-6515
Fixes: U4-6515 Media picker does not set $dirty
2015-11-17 11:51:58 +01:00
Claus 3d95b4d73a Updated unit test after adding in TaskTypeMapper.
cherrypicked from dev-v7.
2015-11-17 11:51:03 +01:00
Shannon Deminick 60c2040cba Merge pull request #890 from umbraco/temp-U4-7286
Fixes: U4-7286 Upgrade script to normalize all GUIDs for content types + update Courier to support it
2015-11-17 11:48:19 +01:00
Mads Rasmussen 4594b952b4 add control overlay to select control before editing 2015-11-17 11:41:17 +01:00
Claus 3045068d68 Fixes: U4-6515 Media picker does not set $dirty
Included fix for member picker.
2015-11-17 10:59:21 +01:00
Claus 37a6668313 Merge branch 'U4-6515' of git://github.com/deepak4u/Umbraco-CMS into deepak4u-U4-6515 2015-11-17 10:50:07 +01:00
Sebastiaan Janssen 36814d746f Merge pull request #905 from GertyEngrie/dev-v7
U4-7297 - fixes <hr/>-button in tinymce
2015-11-17 10:34:37 +01:00
Claus a72f6edb6b Merge pull request #846 from OptimisticCoder/UKFest-U4-6732
U4-6732 - Added message on back office, when JS is disabled.
2015-11-17 10:23:06 +01:00
Claus e442911d0f Merge pull request #892 from umbraco/temp-U4-7342
Temp u4 7342
2015-11-17 10:09:33 +01:00
Sebastiaan Janssen e01cbcd405 Fix failing upgrade due to old dll being in bin folder 2015-11-17 09:24:22 +01:00
Claus 012ed6cf16 Merge pull request #862 from dampee/u4-7314
U4-7314 Change name of "Textbox Multiple" to "TextArea"
2015-11-17 08:57:49 +01:00
Gerty Engrie eb3ff12916 U4-7297 - fixes <hr/>-button 2015-11-17 00:35:10 +01:00
Mads Rasmussen 609a475c67 remove margin bottom on tiny mce in grid.rte directive 2015-11-16 21:20:29 +01:00
Mads Rasmussen ec3ef2c018 add cursor pointer to title, remove a bit bottom space, animate icons 2015-11-16 21:13:53 +01:00
Mads Rasmussen 23f8952605 insert cell tools 2015-11-16 20:58:47 +01:00
Mads Rasmussen 6f893ae69b only render elements in control bar when control is active to prevent click when collapsed 2015-11-16 20:18:39 +01:00
Mads Rasmussen 2b4f0ebf64 always add controls to the bottom of the array 2015-11-16 19:38:00 +01:00
Claus 1ebff69358 Merge pull request #904 from umbraco/temp-U4-7393
Fixes: U4-7393 Actions menu placed behind publish button on mobile phone
2015-11-16 16:02:00 +01:00
Claus 5435c44ea9 Using a lower z-index to fix the issue at hand. 2015-11-16 16:00:43 +01:00
Claus 76fa477c35 Merge branch 'U4-7393' of git://github.com/Acentrage/Umbraco-CMS into Acentrage-U4-7393 2015-11-16 15:55:04 +01:00
Claus 1f6f36d8c8 Updated unit test after adding in TaskTypeMapper. 2015-11-16 15:53:58 +01:00
Claus Jensen c46ac11125 Merge pull request #849 from mzajkowski/UKFest-U4-6282
U4-6282  Add note to Register Partial Macro
2015-11-16 15:37:47 +01:00
Claus 73d5a3f993 Merge branch 'opelpanfan-UKFest-U4-6511' into dev-v7 2015-11-16 15:31:29 +01:00
Mads Rasmussen 4bc5bb9c64 style control bars + add outside click to deselect controls and cells 2015-11-16 10:57:06 +01:00
AndyButland a05cc03254 Allows position of the list view child items tab to be positioned within the tab list 2015-11-15 21:18:21 +01:00
Stephan 92e4a14b7e Merge temp-U4-6911 into 7.4.0 2015-11-13 15:06:28 +01:00
Stephan 9654a0aa3a Enable moving system datatypes (but not deleting) in tree 2015-11-13 15:04:14 +01:00
Stephan 8653da010e Remove warning on container delete, cannot delete a non-empty container 2015-11-13 15:03:57 +01:00
Claus Jensen 5a99a6903d Merge pull request #888 from umbraco/temp-U4-7353
Fixes: U4-7353 OAuth providers for the back office require more flexi…
2015-11-13 14:47:11 +01:00
Shannon Deminick 775639da41 Merge pull request #848 from Khinrot/UKFest-U4-5560
Fixing "U4-5560 White space issue in content tree"
2015-11-13 14:06:40 +01:00
Mads Rasmussen b6b3dee8ed fix up media, macro and embed editor placeholders 2015-11-13 13:52:32 +01:00
Shannon Deminick 2375ede161 Merge pull request #867 from jbreuer/U4-4028
U4-4028 Don't load the full images, but server side resized.
2015-11-13 13:41:53 +01:00
Shannon Deminick fcd00599da Merge pull request #858 from tompipe/U4-1959
Fixes U4-1959
2015-11-13 13:40:26 +01:00
Shannon d3f5090150 Fixes up a couple of missing path updates and incorrect icon resolution and fixed another issue with webservice path reference 2015-11-13 13:38:30 +01:00
Rune Strand 6d5d160b6f Merge branch 'temp-U4-7366' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7366 2015-11-13 13:10:34 +01:00
Rune Strand afd4b19259 Initial sortable styling 2015-11-13 13:10:23 +01:00
Stephan b59ea231c5 Merge 7.4.0 into temp-U4-6911 2015-11-13 12:53:34 +01:00
Mads Rasmussen 51e6072013 set active state on rows, cells and editors 2015-11-13 12:48:35 +01:00
Shannon 6a7faf457b Merge branch 'dev-uk-U4-1117' of https://github.com/JeffreyPerplex/Umbraco-CMS into JeffreyPerplex-dev-uk-U4-1117 2015-11-13 11:35:29 +01:00
Shannon ec247d2b27 ensures the migration table's seed is higher than 1 (have put it to 100). 2015-11-13 11:31:59 +01:00
Mads Rasmussen d00569325a Merge branch 'dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Web.UI.Client/src/common/directives/components/forms/focuswhen.directive.js
	src/Umbraco.Web.UI.Client/src/common/directives/util.directive.js
	src/Umbraco.Web.UI.Client/src/less/application/grid.less
	src/Umbraco.Web.UI.Client/src/less/main.less
	src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.controller.js
	src/Umbraco.Web.UI.Client/src/views/common/dialogs/user.controller.js
	src/Umbraco.Web.UI.Client/src/views/common/dialogs/user.html
	src/Umbraco.Web.UI.Client/src/views/dashboard/ChangePassword.html
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.html
2015-11-13 11:29:47 +01:00
Shannon f32479bb10 bumps version 2015-11-13 11:26:31 +01:00
Shannon bf40fc25e6 Fixes csproj and fixes migration script to use Sql object and ensures that it normalizes GUIDs across ALL content types 2015-11-13 11:17:14 +01:00
Shannon Deminick 371269436f Merge pull request #891 from umbraco/temp-U4-7128
Fixes: U4-7128 Send to Translation gives YSOD
2015-11-13 10:23:41 +01:00
Shannon 50e2bd5d7e Gets data type folders working, this includes updating the data type repo + unit test, the move dialog/views, the data type tree to just show folders. 2015-11-12 19:01:42 +01:00
Shannon 5209a54f2a Added Move methods for both content types and media types ... these move methods are done as part of the UOW commit/transaction process, something that should be done with the Move/Copy operations of the content/media services. I added unit tests for the move operations for both content, media and data types. Events are all in places for content type and media type moves (something which Courier will need to use). Updated the trees/menu items to support moving which includes rendering the tree with only folders, updated the move dialog views to work. 2015-11-12 19:01:41 +01:00
Shannon 98be8dfe3e adds unit tests for content, media and data type repositories for creating and deleting containers (NOTE: There are other failing tests that are not part of this branch that need to be fixed in the 7.4 branch) 2015-11-12 19:01:41 +01:00
Shannon d379b98c57 Gets data type folders working/creating, data types being able to be created in folders, tree syncing with data type paths, fixes up some localization stuff and fixes up some issues with media type folders with parent ids 2015-11-12 18:59:43 +01:00
Shannon 42a0697d60 Nearly got data type folders creating 2015-11-12 18:59:42 +01:00
Shannon 4f07033d58 Gets creating/deleting media type folders working. 2015-11-12 18:59:41 +01:00
Shannon b4755fc5c4 Gets more doc type folders working, can create and delete, now to get doc types to be moved. 2015-11-12 18:59:40 +01:00
Shannon f54cde050a WIP - updated repositories to better support creating/deleting entity containers in a transaction, this is done by a child repository and a new EntityContainer type. Updated the controller to use this logic. 2015-11-12 18:59:39 +01:00
Shannon 4ce0e6bac3 Starts fixing up the doc type folders stuff, fixes permissions settings on the trees, adds error messaging for duplicating folders, removes the click handler for folder nodes 2015-11-12 18:59:38 +01:00
Claus ef13e4112f Merge branch 'UKFest-U4-6511' of git://github.com/opelpanfan/Umbraco-CMS into opelpanfan-UKFest-U4-6511 2015-11-12 16:40:01 +01:00
Claus Jensen ce5b6861bb Merge pull request #855 from ryanmcdonough/UKFest-U4-5617
UKFest-U4-5617 RTE now respects CSS Directory AppSetting.
2015-11-12 16:35:27 +01:00
Stephan ef94441d3b Fix ContentTypeServiceTests, due to changes in service/repository 2015-11-12 16:25:50 +01:00
Stephan c27849a405 Fix ContentTypeRepositoryTest failing mapping tests 2015-11-12 15:33:55 +01:00
Acentrage eaf64d1814 Increased timeout from 200 to 1000 ms so you can actually type something and added support for manually submit with enter without waiting for the timer. 2015-11-12 15:33:49 +01:00
Stephan af0451f8be Fix DataTypeDefinitionRepositoryTest, broken since the repo was changed 2015-11-12 15:33:05 +01:00
Stephan 098d2815e3 Fix ContentRepositoryTest.Can_Perform_Add_With_Default_Template 2015-11-12 15:32:58 +01:00
Stephan 6fd185df2d Replace evil magic number with constant 2015-11-12 15:32:53 +01:00
Stephan 901d55b472 Fix more tests, now that folder browser is gone 2015-11-12 15:32:43 +01:00
Stephan eee1e9385f Fix DataTypeDefinitionRepositoryTest, now that folder browser is gone 2015-11-12 15:32:35 +01:00
Stephan 3272cd5c4d Fix PropertyValueEditor.ConvertDbToEditor for decimals, use invariant culture 2015-11-12 15:31:18 +01:00
Stephan 1d5602a22c Fix PluginManagerTests, post-6c5e35e 2015-11-12 15:31:09 +01:00
Acentrage 6bf1ecdb11 Fixes U4-7393
Safe to use both for mobile and desktop.
2015-11-12 15:17:27 +01:00
Rune Strand e63c7120b7 Add row title bar styling 2015-11-12 15:17:10 +01:00
Claus Jensen fdd0ff2c23 Merge pull request #897 from umbraco/temp-U4-7070
Fixes: U4-7070 UX - Mediapicker autofocus when creating a folder
2015-11-12 15:14:19 +01:00
Claus bade8e42ba Fixes to media picker when creating new folders.
Changed to ngShow to ensure input field hides when blur event is hit.
Clearing and switching visibility of input field on successful submit.
Fixed up focus directive to use $timeout. The focus event can trigger before the element is rendered by angular so its safer to have a timeout ensure it is done at the end of the digest cycle - using $timeout instead of setTimeout ensures it is handled by angular at the right time.
2015-11-12 15:12:59 +01:00
Claus cfdf2768e6 Merge branch 'UKFest-U4-7070' of git://github.com/JJCLane/Umbraco-CMS into JJCLane-UKFest-U4-7070 2015-11-12 14:05:10 +01:00
Rune Strand 07b53c461c Merge branch 'temp-U4-7366' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7366 2015-11-12 13:49:44 +01:00
Rune Strand 8dd2076d09 Hide help text when adding row 2015-11-12 13:49:24 +01:00
Mads Rasmussen 4f4d577a48 make it possible to add multiple editors to a cell 2015-11-12 13:38:34 +01:00
Claus Jensen c3ca006f14 Merge pull request #896 from umbraco/temp-U4-3774
Fixes: U4-3774 Change password UX
2015-11-12 13:36:36 +01:00
Claus 6c47c8f792 Added danish translation. 2015-11-12 13:36:13 +01:00
Claus 63160e2e2d Removing the Change Password tab from Content section. 2015-11-12 13:31:03 +01:00
Mads Rasmussen ac2cf769d5 refactor cells so cells with and without editors are separate divs 2015-11-12 13:26:04 +01:00
Mads Rasmussen 2edfb5b0b2 set row configs to show on init 2015-11-12 12:00:08 +01:00
Rune Strand f72f8a6540 Merge branch 'temp-U4-7366' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7366 2015-11-12 11:50:42 +01:00
Rune Strand 2c7f9d8cda Update placement and styling of preview help text 2015-11-12 11:48:59 +01:00
Mads Rasmussen e77e58d54d change add editor overlay to use new item picker overlay 2015-11-12 11:45:48 +01:00
Claus edc58fe8a5 Merge branch 'dev-uk-U4-3774' of git://github.com/JeffreyPerplex/Umbraco-CMS into JeffreyPerplex-dev-uk-U4-3774 2015-11-12 11:23:36 +01:00
Claus Jensen 23632dc0c3 Merge pull request #856 from tompipe/U7-6928
Fixes U4-6928 - Persist Creator ID of member
2015-11-12 11:07:57 +01:00
Claus Jensen d739b9fb31 Merge pull request #894 from umbraco/temp-U4-6167
Fixes: U4-6167 MNTP: show path of selected node
2015-11-12 10:58:24 +01:00
Claus 2ae4ede258 Showing path when hovering nodes should be configurable on the content picker. 2015-11-12 10:55:00 +01:00
Mads Rasmussen 3ee3c3b46c aaand the controller changes 2015-11-12 09:55:45 +01:00
Mads Rasmussen a4bf118f6d fix cell padding, add rows 2015-11-12 09:53:21 +01:00
Mads Rasmussen 3f3cc507a8 set up basic styling for cell previews + hover state + fix overflow on cells 2015-11-11 19:34:29 +01:00
Claus cacd08b57c Merge branch 'tompipe-U4-6167' into temp-U4-6167 2015-11-11 17:21:51 +01:00
Claus 4eddfb4cf5 Merge branch 'U4-6167' of git://github.com/tompipe/Umbraco-CMS into tompipe-U4-6167 2015-11-11 17:13:40 +01:00
Mads Rasmussen 3ec2ad551c one small step for man....... 2015-11-11 15:57:34 +01:00
Simon Busborg c26057c925 Fixed link hover state 2015-11-11 13:34:42 +01:00
Simon Busborg 62711406ab Added umb-dashboard-control back to dashboard, removed underlines via less 2015-11-11 13:11:41 +01:00
Claus f2b3d7c041 Removed commented out line. 2015-11-11 12:07:45 +01:00
Claus 5d97a94dcb Fixed to use alias instead of hardcoded id.
Added mapper for TaskType.
2015-11-11 12:02:12 +01:00
Simon Busborg cd2e810299 Removed "message" on no times in media section 2015-11-11 11:42:02 +01:00
Simon Busborg 55cac7990e Added dropzone upload to listview in media section 2015-11-11 11:42:02 +01:00
Simon Busborg 25db6ed430 More efficient empty state 2015-11-11 11:42:02 +01:00
Simon Busborg d68a9fae5d UI Polish
New: UI Polish
Edit: Changed 'Cancel' to 'Clear selection'
Fix: Changed from table to flexbox
2015-11-11 11:42:02 +01:00
Simon Busborg 64117239ae Correction to table class 2015-11-11 11:42:01 +01:00
Simon Busborg 608aa269f9 Add umb-table directive, restyling, use directive in listview 2015-11-11 11:42:01 +01:00
Claus de6e7dd28d Merge branch 'U4-7128' of git://github.com/tompipe/Umbraco-CMS into tompipe-U4-7128 2015-11-11 11:14:38 +01:00
Claus Jensen 420c029bf7 Merge pull request #859 from Khinrot/UKFest-U4-6426
Fixing "U4-6426 CTRL click should open in a new window"
2015-11-11 11:12:22 +01:00
Claus 16da9f99d7 Fixes: U4-7286 Upgrade script to normalize all GUIDs for content types + update Courier to support it
Migration for ensuring content type guids are consistent on upgrade to v. 7.4.
2015-11-10 13:38:37 +01:00
Claus 505de31fa1 Fixes: U4-7370 Upgrading from 7.3.1 to 7.4 fails
Added migration for 7.3.2, ensuring the identity on the table is correct. It failed due to rows initially being inserted with identity disabled and therefore the seed of the table was zero even when the table had data.
2015-11-10 13:38:36 +01:00
Claus 35778bc08a Fixes: U4-7286 Upgrade script to normalize all GUIDs for content types + update Courier to support it
Migration for ensuring content type guids are consistent on upgrade to v. 7.4.
2015-11-10 13:37:45 +01:00
Claus 61441dd436 Fixes: U4-7370 Upgrading from 7.3.1 to 7.4 fails
cherrypicked from 7.4.0 branch.
Added migration for 7.3.2, ensuring the identity on the table is correct. It failed due to rows initially being inserted with identity disabled and therefore the seed of the table was zero even when the table had data.
2015-11-10 12:15:44 +01:00
Claus 49560d8f2e Fixes: U4-7370 Upgrading from 7.3.1 to 7.4 fails
Added migration for 7.3.2, ensuring the identity on the table is correct. It failed due to rows initially being inserted with identity disabled and therefore the seed of the table was zero even when the table had data.
2015-11-10 12:10:36 +01:00
bjarnef 5c24867925 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-11-09 23:52:27 +01:00
Wincent 0409cbe613 Changed ImageController.GetBigThumbnail to redirect
Changed thumbnail paths to include rnd equal to UpdateDate
2015-11-09 21:41:25 +01:00
Shannon a351f6cfc8 Fixes up the error handling with move/copy dialogs. 2015-11-09 17:58:43 +01:00
Shannon 85e5c0c219 fixes jquery reference issue (again) 2015-11-09 17:10:33 +01:00
Shannon 7eb922a550 fixes build (merge issue) 2015-11-09 12:37:29 +01:00
Shannon a0761b92b8 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	build/RevertToCleanInstall.bat
	build/RevertToEmptyInstall.bat
	src/Umbraco.Web.UI.Client/src/canvasdesigner.loader.js
	src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbavatar.directive.js
	src/Umbraco.Web.UI.Client/src/common/directives/components/property/umbproperty.directive.js
	src/Umbraco.Web.UI.Client/src/less/pages/login.less
	src/Umbraco.Web.UI.Client/src/views/components/application/umb-avatar.html
	src/Umbraco.Web.UI.Client/src/views/components/property/umb-property.html
2015-11-09 12:33:53 +01:00
Shannon Deminick 974c7cb48c Merge pull request #882 from umbraco/temp-U4-7351
Temp u4 7351
2015-11-09 03:28:41 -08:00
Shannon bbbea99ced removes redundant null check. 2015-11-09 10:56:07 +01:00
Shannon 3d213342bf Fixes: U4-7353 OAuth providers for the back office require more flexibility with Challenge Results 2015-11-09 10:42:15 +01:00
Sebastiaan Janssen 48fdb75d96 Improves clean scripts for Claus 2015-11-09 09:25:59 +01:00
Sebastiaan Janssen a97094458d U4-7356 <siteMap><providers> element can only be added once, when using nuget update-packge
U4-7356 Fixed
2015-11-09 09:25:58 +01:00
Nicholas-Westby f81353af0b Amended last commit for detailed node info (so it plays nice when picking media): http://issues.umbraco.org/issue/U4-5764
Also added node path to title of "Open" button (so it shows the full path on hover).
More consistent quoting (namely, using apostrophes rather than double quotes).
2015-11-08 17:16:17 -08:00
bjarnef f0e1460550 Update bower.json with ngCapsLock 2015-11-09 00:34:34 +01:00
bjarnef d15c09ad2a Localize "Caps Lock is on" 2015-11-09 00:06:16 +01:00
Nicholas-Westby 5813202892 Finished implementation of detailed node info (added breadcrumb to content dialog): http://issues.umbraco.org/issue/U4-5764
Also moved the breadcrumb into a directive since it was used in multiple places.
2015-11-07 23:51:07 -08:00
bjarnef 82f6b6a66d Add ngCapsLock 2015-11-07 23:53:35 +01:00
bjarnef eec6ee79aa Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-11-07 00:25:49 +01:00
Claus Jensen 33d7292cb1 Merge pull request #843 from umbraco/temp-U4-7224
Temp u4 7224 - clean up content type editor validation styling
2015-11-06 12:58:57 +01:00
Mads Rasmussen 06a1899edf clear alias when name is empty 2015-11-06 11:49:01 +01:00
Claus Jensen 16126c2b4e Merge pull request #881 from umbraco/temp-U4-7281
show warning when editing data type in content type editor
2015-11-06 10:30:08 +01:00
Mads Rasmussen 3dbd738639 set new bottom height to make room for cancel button 2015-11-05 10:52:22 +01:00
Mads Rasmussen a34431493e remove watchers on available and selected models from umbChildSelector directive to prevent digest loop going crazy 2015-11-05 10:37:23 +01:00
Mads Rasmussen 6e1dc87996 wait for content before loading sub views 2015-11-05 10:32:12 +01:00
Nicholas-Westby 5ed4f262cd Partial implementation of detailed node info (changed button text to "Open" and styled a bit): http://issues.umbraco.org/issue/U4-5764 2015-11-04 22:25:37 -08:00
Nicholas-Westby e5d7f6fd04 Partial implementation of detailed node info (show node in "view" is clicked): http://issues.umbraco.org/issue/U4-5764 2015-11-03 22:39:36 -08:00
Mads Rasmussen 2f16aa25c3 Fixes: U4-7347 Document type editor template name and alias get set to null 2015-11-03 19:49:00 +01:00
Mads Rasmussen 127afbfbf1 show warning when editing data type 2015-11-03 10:48:56 +01:00
Mads Rasmussen b632beb067 set title attr on alias input 2015-11-03 10:13:02 +01:00
Sebastiaan Janssen 6f6b7d5772 This namespace doesn't exist 2015-11-03 10:00:11 +01:00
Daniel a9ad0ae8eb removed the debug check 2015-11-02 23:34:33 +01:00
Daniel Andreasen 9cd64a9061 Merge pull request #2 from umbraco/dev-v7
merge from umbraco/
2015-11-02 22:41:44 +01:00
Niels Hartvig 110d54c4b8 Adds Konami feature on login screen 2015-11-02 14:53:32 +01:00
Steve Morgan 839c0d011b Added ConfigureAwait(false)
ConfigureAwait(false) is recommended on async calls?
http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html
Credit: @dampeebe
2015-11-02 10:26:25 +00:00
Nicholas-Westby 15c9aadcdc Partial implementation of detailed node info: http://issues.umbraco.org/issue/U4-5764 2015-11-01 22:43:27 -08:00
Wincent 36a1c0a9e0 Changed web api GetBigThumbnail to image processor in mediahelper.service.js and fileupload.controller.js 2015-10-31 16:31:19 +01:00
Stephan 30f0c96052 Fix AsyncLock finalizer throwing exceptions 2015-10-31 12:47:04 +01:00
Stephan cfab30a1ef Fix thread CultureInfo issue breaking PetaPoco 2015-10-31 12:47:03 +01:00
Stephan 1dd0086eb5 Revert "strange/crazy peta poco fix for cultures"
This reverts commit 0d29e1438c.
2015-10-31 12:47:02 +01:00
andydale1982 a7f06ebc56 Typo Correction 2015-10-30 10:38:05 +00:00
Andrey Shchekin 9498bc4bfd U4-7352 Fixed exception logging in UmbracoDatabase. 2015-10-30 11:24:18 +13:00
Jeavon Leopold 38b13bf6ce Basic implementation for U4-4641 2015-10-29 17:18:40 +00:00
Jeavon Leopold c8cb5b26b0 Basic implementation for U4-4641 Feature Request: template and code editors should have insert Section, Define section buttons 2015-10-29 17:14:45 +00:00
andydale1982 5749f80a7f Added instructions to manually install node_modules. 2015-10-29 17:10:39 +00:00
Jordan Lane 5d9a935621 Adds a check to include users in the send to translation list that have the translate permission for current page
http://issues.umbraco.org/issue/U4-6094#
2015-10-29 16:50:00 +00:00
Tom Pipe 1ff4fe26dd Fixes YSOD after send to translation 2015-10-29 16:43:54 +00:00
Benas Brazdziunas bd69820028 Member Picker search results doesn't show correct icons 2015-10-29 16:29:33 +00:00
Jeroen Breuer 3c9953979a U4-4028 Don't load the full images, but server side resized. 2015-10-29 17:00:23 +01:00
andydale1982 2f6189ae24 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-10-29 15:55:49 +00:00
deepak4u 5ff329778d fix for issue u4-6515 2015-10-29 15:53:11 +00:00
Andy Rose befb2b4d2f U4-6980: Fixing merge issue 2015-10-29 15:32:03 +00:00
Andy Rose f4ae45d8f2 U4-6980: Adding supporting unit tests for changes to the template repository 2015-10-29 15:29:23 +00:00
Andy Rose 7b73ed1796 U4-6980: Adding supporting unit tests for changes to the template repository 2015-10-29 15:29:22 +00:00
Andy Rose 0eacbcb7cb U4-6980: Only assume a masterpage template if a MVC hasn't already been created 2015-10-29 15:29:20 +00:00
Jeffrey Schoemaker f871de61d5 U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:28:12 +01:00
Jeffrey Schoemaker e02693e46b U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:27:33 +01:00
Jeffrey Schoemaker db62d14b1a U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:27:05 +01:00
Jeffrey Schoemaker c096ab9e54 U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:26:31 +01:00
Jeffrey Schoemaker ada5a031b4 U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:26:06 +01:00
Jeffrey Schoemaker 9c8b9f8bb4 U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:25:41 +01:00
Jeffrey Schoemaker a4bd3abfbe U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:25:15 +01:00
Jeffrey Schoemaker a8a768a50f U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:24:41 +01:00
Jeffrey Schoemaker 62b99ffc59 U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:24:16 +01:00
Jordan Lane 8e6bac534a Fix a bug where PublishStatusType would fallback to FailedContentInvalid (and break) if it was expired or trashed and add error message for FailedHasExpired
TODO: Add error message to other languages
2015-10-29 15:23:40 +00:00
Jeffrey Schoemaker 6b0c94948e U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:23:30 +01:00
Jeffrey Schoemaker 25f049e167 U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:22:39 +01:00
Jeffrey Schoemaker f7979fa19d U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:22:05 +01:00
Jeffrey Schoemaker 6fd1784337 U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:21:25 +01:00
Jordan Lane c5cf1fa6b2 Checks if content has expired or is awaiting release before publishing 2015-10-29 15:21:15 +00:00
Jordan Lane 1e4c9c2505 Set the publish status of new content version to saved if validation of publication fails e.g. a release date of the future or past unpublish date 2015-10-29 15:20:35 +00:00
Jeffrey Schoemaker a7bb8e0d00 U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 16:20:17 +01:00
Jeffrey Schoemaker ed4a9f84f0 U4-1117 - Fixed any errors when renaming /umbraco to something else
We removed the ~/umbraco from the reserved path settings key. We could'nt find the location where the same setting is set in the web.config.
The variable is no longer needed as the "umbracoPath" value is automatically inserted into the reserved path setting.
2015-10-29 16:18:14 +01:00
Jordan Lane a6b56db2f5 Fixes an issue with the contentService.RePublishAll() where it wouldn't publish an old published version if the newest version of the content wasn't published i.e had a scheduled date set because this would create a new version with status not published 2015-10-29 15:16:44 +00:00
Sebastiaan Janssen bbe4a87784 U4-6171 Continuous Deployment from Visual Studio Online to Azure Websites not working as expected
#U4-6171 Fixed
2015-10-29 16:07:07 +01:00
Sebastiaan Janssen cbd5c295bd Merge pull request #728 from vnbaaij/dev-v7
Fix for #U4-6171 Continuous Deployment from Visual Studio Online to A…
2015-10-29 16:05:20 +01:00
Shannon 0d29e1438c strange/crazy peta poco fix for cultures 2015-10-29 15:24:06 +01:00
Jeffrey Schoemaker 4796827f02 U4-1117 - Fixed any errors when renaming /umbraco to something else 2015-10-29 15:05:24 +01:00
Andy Rose c6f7ece764 Merge branch 'UKFest-U4-6980' of https://github.com/andycyberian/Umbraco-CMS into UKFest-U4-6980 2015-10-29 14:00:46 +00:00
Andy Rose e86aaefaaf U4-6980: Only assume a masterpage template if a MVC hasn't already been created 2015-10-29 13:59:09 +00:00
Andy Rose 97e9cd4be0 U4-6980: Only assume a masterpage template if a MVC hasn't already been created 2015-10-29 13:54:12 +00:00
Asbjørn Riis-Knudsen 63af822bad U4-6657: Use flexbox for mediapicker search field and upload button to allow button to scale for different translations 2015-10-29 14:52:18 +01:00
Tom Pipe b65f653c91 Fixes U4-1959 2015-10-29 13:08:37 +00:00
Damiaan 3b404a2f76 U4-7314 Change name of "Textbox Multiple" to "Large textbox" or "Textarea" 2015-10-29 13:54:16 +01:00
Tom Pipe e9567e7adc Fixes U4-6928 - Persist Creator ID of member 2015-10-29 12:52:36 +00:00
gerwin.bouwhuis 697daab4d7 change :get the correct alternative recursive field 2015-10-29 13:50:30 +01:00
Alejandro Ocampo 6c29ad854c Fixing "U4-6426 CTRL click should open in a new window" 2015-10-29 12:48:40 +00:00
gerwin.bouwhuis 93d89535aa undo 2015-10-29 13:32:50 +01:00
gerwin.bouwhuis eb093ca4a6 change : find the correct alternative recursive field 2015-10-29 13:23:43 +01:00
ryanmcdonough 1040f234dc Update grid.rte.directive.js 2015-10-29 12:09:29 +00:00
Sebastiaan Janssen 5a1ace9362 Revert "Fixes tests failing due to missing path"
This reverts commit 0c402310d9.
2015-10-29 13:00:51 +01:00
ryanmcdonough 3f835fe19c RTE now respects CSS Directory AppSetting.
Fixes #U4-5617
2015-10-29 12:00:43 +00:00
Dennis Spijkerboer bf43ce3281 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into UKFest-U4-7322 2015-10-29 12:57:27 +01:00
Dennis Spijkerboer c37ba0dc8a Checked if the trimmed value starts and ends with brackets. If so, use the trimmed value. 2015-10-29 12:56:07 +01:00
Jeffrey Schoemaker 7b5ad9a5c6 U4-3774 / U4-4752 - Added a change password form to the user dialog 2015-10-29 12:44:30 +01:00
Steve Morgan f0afa701bc Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-10-29 11:38:03 +00:00
Jeffrey Schoemaker 71dc1110d8 U4-3774 / U4-4752 - Added a change password form to the user dialog 2015-10-29 12:38:00 +01:00
Jeffrey Schoemaker 4de4eb9cc8 U4-3774 / U4-4752 - Added a change password form to the user dialog 2015-10-29 12:34:05 +01:00
Jeffrey Schoemaker 308d5ba344 U4-3774 / U4-4752 - Added a change password form to the user dialog 2015-10-29 12:32:57 +01:00
Tom Pipe 74dac71e8a Fixes U4-6167 - Show path of selected node 2015-10-29 11:31:53 +00:00
Jeffrey Schoemaker 64518774c6 U4-3774 / U4-4752 - Added a change password form to the user dialog 2015-10-29 12:29:24 +01:00
Jeffrey Schoemaker f65b0df3e2 U4-3774 / U4-4752 - Added a change password form to the user dialog 2015-10-29 12:28:23 +01:00
Jeffrey Schoemaker 5cfe9e85f8 U4-3774 / U4-4752 - Added a change password form to the user dialog 2015-10-29 12:27:32 +01:00
Jeffrey Schoemaker 61044b6018 U4-3774 / U4-4752 - Added a change password form to the user dialog 2015-10-29 12:23:47 +01:00
Jeffrey Schoemaker 00fc5a5bb2 U4-3774 / U4-4752 - Added a change password form to the user dialog 2015-10-29 12:22:20 +01:00
Stephan da85e4eb28 fixes list view ancestor check fix 2015-10-29 12:20:10 +01:00
Alejandro Ocampo 3f23865e0a Fixing "U4-5560 White space issue in content tree" 2015-10-29 11:06:31 +00:00
Shannon fbc08d66f1 fixes list view ancestor check 2015-10-29 12:05:46 +01:00
Shannon 79f04bf939 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-10-29 11:57:07 +01:00
Shannon 9ab90595e2 Adds a filter to the interceptor to ignore errors for certain requests. 2015-10-29 11:56:23 +01:00
Marcin Zajkowski aac208c0e8 U4-6282 Add note to Register Partial Macro 2015-10-29 10:53:29 +00:00
Benas Brazdziunas f8e101ec13 U4-6511 make MNTP icon clickable 2015-10-29 10:43:04 +00:00
OptimisticCoder 23fcc1ac55 Added message on back office, when JS is disabled.
" JAVASCRIPT IS DISABLED. PLEASE ENABLE TO CONTINUE!"
2015-10-29 10:28:49 +00:00
Jordan Lane 6356531207 Focus new folder input automatically
http://issues.umbraco.org/issue/U4-7070
2015-10-29 10:22:34 +00:00
Sebastiaan Janssen 51b618826c Merge pull request #844 from ryanmcdonough/UKFest-U4-7151
Update database placeholder to backslash for instance name.
2015-10-29 11:16:56 +01:00
ryanmcdonough 04c28e5006 Update database placeholder to backslash for instance name. 2015-10-29 09:56:22 +00:00
andydale1982 e9ef9b9d75 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-10-29 09:54:19 +00:00
Sebastiaan Janssen c160ce98c1 Merge pull request #794 from mstodd/dev-v7
Setting UMB_CONTEXT with Domain "FALSE"
2015-10-29 10:19:28 +01:00
Sebastiaan Janssen c3a60ea0e0 Merge pull request #838 from ryanmcdonough/U4-7302
Login overlay now higher than bootstrap datepicker
2015-10-29 09:19:42 +01:00
Stephan 3408efdee4 Merge pull request #842 from umbraco/temp-U4-7285
U4-7285 Fix DistributedCache.ClearXxxCacheOnCurrentServer
2015-10-28 19:38:04 +01:00
Shannon 1f0dc7e65d Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-10-28 18:26:44 +01:00
Shannon f89083c772 bumped version 2015-10-28 18:26:34 +01:00
Sebastiaan Janssen 752065e540 Merge pull request #835 from umbraco/temp-U4-7032
U4-7032 7.3.0 Custom backoffice login provider requires simpler implementation extensibility
2015-10-28 18:25:10 +01:00
Sebastiaan Janssen 82e4e50584 Merge pull request #841 from umbraco/temp-U4-7231
U4-7231 TryConvertTo<T> of ObjectExtensions doesn't do null checks (c…
2015-10-28 17:09:30 +01:00
Sebastiaan Janssen 775e63148d Merge branch 'temp-U4-5963' into dev-v7 2015-10-28 17:02:51 +01:00
Sebastiaan Janssen 4259b02b8d Merge branch 'dev-v7' into temp-U4-5963
Conflicts:
	src/Umbraco.Web.UI.Client/src/controllers/main.controller.js
2015-10-28 16:56:40 +01:00
Sebastiaan Janssen 0c402310d9 Fixes tests failing due to missing path 2015-10-28 16:07:54 +01:00
Stephan 8d92330ad6 Fix broken comments 2015-10-28 15:01:23 +01:00
Sebastiaan Janssen 44e76f741f Merge pull request #840 from umbraco/temp-U4-7021
Fixes: U4-7021 "Actions" dropdown not available to children in listvi…
2015-10-28 14:52:48 +01:00
Shannon ecbced5c62 Massively simplifies the RenderActionInvoker which will support the native MVC caching and both async and non async support. U4-7270 Async Index actions for controllers implementing IRenderMvcController do not render view correctly 2015-10-28 14:31:40 +01:00
Shannon e6773dafc1 Updates PR to only display the prop alias in the title attribute when in debug mode. U4-4794 Display the property alias for content properties & provide a link to the content type from the generic properties tab 2015-10-28 12:45:15 +01:00
Shannon Deminick 7b8b7ed170 Merge pull request #837 from digbyswift/dev-v7
U4-7270 - Addition of allowance for async/await Index actions
2015-10-28 12:33:32 +01:00
Shannon Deminick c0997e1b9f Merge pull request #817 from tobbbe/hooverpropforalias
Hoover a property in backend to get its alias
2015-10-28 12:31:20 +01:00
Shannon d4f862a44f Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-10-28 12:28:41 +01:00
Shannon 64c983eb07 Updates PR with fixes for code and implementation logic for the url list. 2015-10-28 12:28:29 +01:00
Mads Rasmussen 58f21fb028 make sub view icon red if it has validation errors 2015-10-28 10:44:34 +01:00
Mads Rasmussen ac0d47122c fix validation styling a bit 2015-10-28 10:44:34 +01:00
Mads Rasmussen 56e6eee852 fix issue with focus on locked field not being focused after child element has been added 2015-10-28 10:44:34 +01:00
Mads Rasmussen c3441d54bf fix locked field alignment 2015-10-28 10:44:34 +01:00
Shannon e25222162c Merge branch 'danieland-U4-7296-Link-to-each-items-doc-type-from-Properies-tab-in-Content-section' into dev-v7 2015-10-28 09:50:20 +01:00
Shannon e022687457 Merge branch 'U4-7296-Link-to-each-items-doc-type-from-Properies-tab-in-Content-section' of https://github.com/danieland/Umbraco-CMS into danieland-U4-7296-Link-to-each-items-doc-type-from-Properies-tab-in-Content-section 2015-10-28 09:49:55 +01:00
Shannon 84db2f4d85 U4-7285 Every server that reads a instruction from umbracoCacheInstruction will also write the same instruction to the database. Intentional ? 2015-10-27 19:24:56 +01:00
Shannon ef64409a9a U4-7231 TryConvertTo<T> of ObjectExtensions doesn't do null checks (causes handled errors on members after upgrade) 2015-10-27 18:29:46 +01:00
Shannon f0b68ac31e Fixes: U4-7021 "Actions" dropdown not available to children in listview nodes 2015-10-27 18:13:18 +01:00
Jeffrey Schoemaker dba7bcf60a Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-10-27 15:21:07 +01:00
Sebastiaan Janssen 6c80bd9eb9 U4-6385 Poor Handling of disallowedUploadFiles
#U4-6385 State: Review
2015-10-27 13:45:02 +01:00
TimoPerplex 43baba1733 Revert "Latest"
This reverts commit 95a9e4b5ff.
2015-10-27 13:10:25 +01:00
TimoPerplex 95a9e4b5ff Latest 2015-10-27 13:09:21 +01:00
TimoPerplex 9b0aa49d4d Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-10-27 13:08:32 +01:00
Shannon 6269e7b3f2 Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into 7.4.0 2015-10-27 11:41:45 +01:00
Shannon Deminick 283de5a7d6 Merge pull request #831 from umbraco/temp-U4-7178-media-library
Temp u4 7178 media library
2015-10-27 11:41:10 +01:00
Sebastiaan Janssen c7b7bf1510 Merge pull request #839 from umbraco/temp-U4-7214
U4-7214 Culture is not supported. Parameter name: name en_us is an in…
2015-10-27 11:27:53 +01:00
Shannon d1805b1448 U4-7214 Culture is not supported. Parameter name: name en_us is an invalid culture identifier error selecting user with different language after upgrade to 7.3.0 2015-10-27 11:22:28 +01:00
Shannon 8f7add203e Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
2015-10-27 10:29:11 +01:00
Mads Rasmussen 3033b0a705 Fixes: U4-7303 Shift + select to select a range of items 2015-10-27 08:53:53 +01:00
ryanmcdonough 780937dae9 Login overlay now higher than bootstrap datepicker 2015-10-26 15:49:55 +00:00
Shannon 9b054eaa47 Adds native ability to be able to fallback to default password checking if specifying a custom IBackOfficeUserPasswordChecker 2015-10-26 14:51:19 +01:00
Per Ploug 7be070c17b Merge remote-tracking branch 'refs/remotes/origin/7.4.0' into dev-7.4.0-ModelsBuilder 2015-10-25 20:15:12 +01:00
bjarnef 1584530615 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-10-25 18:40:45 +01:00
bjarnef 100ca5caa6 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-10-25 18:29:13 +01:00
Per Ploug c2b4633506 poc of templates with models 2015-10-24 22:10:17 +02:00
Shannon Deminick badd9ae289 Merge pull request #833 from umbraco/temp-U4-7201
Fixes: U4-7201 Can only save once in some editors after upgrade to 7.3
2015-10-23 11:45:24 +02:00
Kieron McIntyre db6755a5bb Addition of allowance for async/await Index actions 2015-10-23 10:04:14 +01:00
Mads Rasmussen 6faf4c4dbf Merge pull request #814 from umbraco/dev-v7-contenttypeeditor-validation
U4-7119 New Content Type editor requires server side validation wired up
2015-10-23 09:34:29 +02:00
Per Ploug 2c0d79d786 Ensuring the doctype UI changes are pushed, git seems unsure... 2015-10-23 08:29:26 +02:00
Daniel 738815170c more nullchecks needed?
null check that we can access user
2015-10-23 00:21:42 +02:00
Daniel ef091e8c3a U4-7296
http://issues.umbraco.org/issue/U4-7296
2015-10-22 23:41:18 +02:00
Daniel 71b3810e9c Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-10-22 21:49:49 +02:00
Mads Rasmussen 8d81d9922c fix js errors when unsubscribing events 2015-10-22 20:27:29 +02:00
Mads Rasmussen 4007ece6b4 Add copy bulk action to content + redo move dialog 2015-10-22 19:52:56 +02:00
Shannon Deminick a1e62dae5e Merge pull request #834 from Attackmonkey/Fix-U4-7257
Fixes issue where dictionary items are displayed in a random order
2015-10-22 18:43:23 +02:00
Shannon 96c087d00f adds a ctor to the BackOfficeUserManager to allow better inheritance so that all settings are initialized by default, changes init method to be protected so other devs can use it. Adds a new property for devs to use to more easily extend the logic to just validate the username/password. 2015-10-22 18:40:20 +02:00
Tim 0568bf51f0 Fixes issue where dictionary items are displayed in a random order (see issue U4-7257) 2015-10-22 17:17:29 +01:00
Shannon Deminick e3bade4d1a Merge pull request #816 from Jeavon/U4-7260
Fix for U4-7260
2015-10-22 18:08:23 +02:00
Per Ploug dd05fe7466 merge 2015-10-22 18:07:17 +02:00
Shannon Deminick 633b0b0003 Merge pull request #830 from albinj/dev-v7
U4-7283 - Only Master/Single ServerRole should be removing old instru…
2015-10-22 18:06:53 +02:00
Shannon Deminick 82adf48699 Merge pull request #805 from umbraco/temp-7234
Fixes #7234
2015-10-22 18:06:14 +02:00
Per Ploug b4286cffbe Fixes up folderbrowser inheritance 2015-10-22 18:05:42 +02:00
Shannon 63be12b9fe Merge branch 'dev-v7-U4-6967' of https://github.com/bjarnef/Umbraco-CMS into bjarnef-dev-v7-U4-6967
Conflicts:
	src/Umbraco.Web.UI.Client/src/controllers/main.controller.js
2015-10-22 18:03:03 +02:00
Shannon e2251ec41a Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2015-10-22 17:54:09 +02:00
Shannon 33f7ed5129 Fixes: U4-7223 GetCropUrl outputs html entities in url when used in css
Adding in HtmlHelper extensions for GetCropUrl.
2015-10-22 17:52:58 +02:00
Shannon Deminick 427ea3d87b Merge pull request #832 from umbraco/temp-U4-7223
Fixes: U4-7223 GetCropUrl outputs html entities in url when used in css
2015-10-22 17:51:46 +02:00
Shannon 602915a311 makes FolderBrowserPropertyEditor have the grid as the primary layout for the list view. 2015-10-22 17:47:22 +02:00
Per Ploug 7463836ed2 merge 2015-10-22 17:45:46 +02:00
Shannon f66c07ec81 updates base data creation to not install the folder browser and instead to use the default media list view for the media folder property. Updates the FolderBrowserPropertyEditor to use the default list view property editor with no pre-values. 2015-10-22 17:34:01 +02:00
Per Ploug 49991ca84a Merge branch 'temp-U4-7178-media-library' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7178-media-library 2015-10-22 17:29:55 +02:00
Shannon 9ed44a6314 fixes DataTypeController to only exclude System List views 2015-10-22 15:43:10 +02:00
Shannon 79583c571c Fixes: U4-7201 Can only save once in some editors after upgrade to 7.3 2015-10-22 15:40:12 +02:00
Shannon fd26f98356 fixes template mapping issue when saving content types 2015-10-22 15:10:44 +02:00
Mads Rasmussen 9372b1df47 fix placeholder width on input auto resize in firefox 2015-10-22 14:02:18 +02:00
Claus 0cf44c1bd0 Fixes: U4-7223 GetCropUrl outputs html entities in url when used in css
Adding in HtmlHelper extensions for GetCropUrl.
2015-10-22 13:42:38 +02:00
Mads Rasmussen 83d16c3986 remove z-index on list view settings to allow overlays inside 2015-10-22 12:48:19 +02:00
Mads Rasmussen a6cb2a38ac remove margin 2015-10-22 12:47:19 +02:00
Shannon 41c5f6a8bf Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js
2015-10-22 12:12:03 +02:00
Mads Rasmussen cf09603c08 check for array in media grid 2015-10-22 11:52:29 +02:00
Mads Rasmussen 4975ab870b remove sortable in content grid until we find a solution for saving 2015-10-22 11:47:35 +02:00
Mads Rasmussen 2eb36710e2 remove sortable from media grid until we find a way to save sort order 2015-10-22 11:28:08 +02:00
Mads Rasmussen bf7e49f774 remove console log 2015-10-22 11:23:53 +02:00
Mads Rasmussen cbaccafbc3 remove old pagination markup 2015-10-22 11:23:05 +02:00
Mads Rasmussen cf13d89086 add directive for list view layouts so we do not get values from parent scope 2015-10-22 11:21:53 +02:00
Shannon Deminick 5f45f715a1 Merge pull request #829 from umbraco/temp-u4-6927
Adds browser refresh to uninstall
2015-10-22 11:14:32 +02:00
Shannon 842980a7df fixes issue with empty tree alias being passed in when attempting to sync tree 2015-10-22 11:14:06 +02:00
Shannon Deminick a7e2c0b4dc Merge pull request #804 from rasmusjp/feature/copy-content-dialog
Added recursive option to copy dialog
2015-10-22 10:38:07 +02:00
Mads Rasmussen 9449a778e9 move list view pagination to directive 2015-10-22 09:42:00 +02:00
Mads Rasmussen 153e2ecfae use "item" instead of "document" to cover both content, media and folder. 2015-10-21 19:47:39 +02:00
Mads Rasmussen 5aa844393f add selected folders and items to an selection array. Move list layout logic to list layout controller. 2015-10-21 19:44:35 +02:00
Shannon 042e6e1c52 fixes breaking change with renaming tree aliases. 2015-10-21 18:48:23 +02:00
Shannon 98fadf82a1 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2015-10-21 18:44:07 +02:00
Shannon da48e1b392 Fixes: U4-6962 Public access in multiple levels is broken in 7.3
Ensured the backoffice UI will look at protection for the specific node only (no inheritance) when specifying public access.
Added non-recursive method to Access class.
Fixed bug causing the tree (child nodes) not to update correctly after changing public access on nodes.
2015-10-21 18:43:30 +02:00
Shannon Deminick 4881b4cd7d Merge pull request #827 from umbraco/temp-U4-6962
Fixes: U4-6962 Public access in multiple levels is broken in 7.3
2015-10-21 18:38:21 +02:00
Shannon 73fb761c4d Fixes issue with umb-editor-sub-views so that each view is actually rendered out and not replaced otherwise when you switch sections all of the wired up validation gets removed. This will also enable us to highlight the menu header when validation errors exist on that section. We also now show a single validation error message even when there is client side validation errors. 2015-10-21 17:52:58 +02:00
albinj f535ece685 U4-7283 - Only Master/Single ServerRole should be removing old instructions from the database 2015-10-21 14:29:18 +01:00
Per Ploug a7aa13fcb6 Adds browser refresh to uninstall
- InstalledPackage triggers a clientside refresh to installer.aspx - as
the installedpackage.aspx cannot be used for the last step since the
package is now gone
- installer.aspx displays the final uninstall message after browser
refreshing
- uses same clientside redirect as installs
2015-10-21 14:34:19 +02:00
Per Ploug c8f1340868 Rolls back update to jquery from 2.1.4 to 2.0.3 2015-10-21 14:22:44 +02:00
Per Ploug 08a46d62ed Merge branch 'temp-U4-7178-media-library' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7178-media-library 2015-10-21 12:57:54 +02:00
Per Ploug 3996170151 Makes the folderbrowser proxy the media listview
This handles upgrades which already use the folderbrowser to
automatically switch to the media listview
2015-10-21 12:57:35 +02:00
Per Ploug 9f090801fc Obsoletes the Folderbrowser and changes install to use List-view 2015-10-21 12:52:10 +02:00
Mads Rasmussen b4ab7ff963 fix breadcrumbs in media section 2015-10-21 12:33:31 +02:00
Claus Jensen 04e46c7cd1 Merge pull request #815 from umbraco/temp-U4-7198
Fixes: U4-7198 Change default log4net config to include machine name …
2015-10-21 12:20:45 +02:00
Per Ploug 1b55f04129 small docs comment fix 2015-10-21 11:52:51 +02:00
Claus Jensen 1089aef00a Merge pull request #825 from umbraco/temp-U4-7217
Fixes: U4-7217 umbracoReservedUrls do not always resolve correctly.
2015-10-21 11:52:39 +02:00
Per Ploug b3dcfd8d6f Removes listview dependency on routeParams 2015-10-21 11:52:35 +02:00
Per Ploug 0320485229 Adds the media listview to media dashboard 2015-10-21 11:52:15 +02:00
Per Ploug 735494ecd6 Small fix in the datatype docs comments 2015-10-21 11:51:57 +02:00
Claus f48166e6ed Fixes: U4-6962 Public access in multiple levels is broken in 7.3
Ensured the backoffice UI will look at protection for the specific node only (no inheritance) when specifying public access.
Added non-recursive method to Access class.
Fixed bug causing the tree (child nodes) not to update correctly after changing public access on nodes.
2015-10-21 11:29:05 +02:00
Per Ploug 94366d1aa2 Merge branch 'temp-U4-7178-media-library' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7178-media-library 2015-10-21 10:02:32 +02:00
Per Ploug 46f75a93bb updates to latest jquery 2015-10-21 09:58:07 +02:00
Per Ploug 19759000f4 Media and content move return wrong error format
Changing both move methods to return the same error signature as
publish/delete/etc
2015-10-21 09:57:57 +02:00
Per Ploug 0454c54d1c Fixed: Given -1 MediaService returns all descendant media
It returned the entire media tree given the ID -1, changing this so it
returns children below root instead
2015-10-21 09:49:45 +02:00
bjarnef 0288d6ec89 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7 2015-10-20 22:28:50 +02:00
Mads Rasmussen 026150c5b6 decrease size on items in content grid 2015-10-20 19:22:42 +02:00
Mads Rasmussen 2d332355aa move layout config to options model 2015-10-20 19:18:35 +02:00
Mads Rasmussen 96194d45af Add no item text to list view content grid 2015-10-20 19:16:59 +02:00
Mads Rasmussen a3374fd08a add client side drag and drop to list view content grid 2015-10-20 19:15:33 +02:00
Shannon 65b080b03f fixes ysod with validation errors on doc type editor. 2015-10-20 15:37:11 +02:00
Shannon a67feb7881 cherry picks media type child listing 2015-10-20 14:57:28 +02:00
Shannon 8950d94b25 adds unit test showing deleting a property group does not delete the property types. 2015-10-20 14:51:08 +02:00
Per Ploug 2a74785755 Adds ModelsBuilder Nuget 2015-10-20 14:17:45 +02:00
Mads Rasmussen 20d676e667 Added move functionality to bulk actions - something is wrong in error handling 2015-10-20 13:33:45 +02:00
Per Ploug d04b7ae9c7 Revert "doctype editcontroller for modelsbuilder"
This reverts commit 8cf27c810d.
2015-10-20 10:44:44 +02:00
Mads Rasmussen 759d8fad5f center content grid 2015-10-20 10:07:55 +02:00
Shannon bb6299cc01 Fixes: U4-7217 umbracoReservedUrls do not always resolve correctly.
Verified that all tests in GlobalSettingsTests run correctly.
Removes the strange old legacy compare thing and replaces it with a more readable Linq solution that ensures that the strings compared are always consistent.
2015-10-20 09:48:58 +02:00
Mads Rasmussen 49349c719c add content grid/card directive + add it to grid list view layout 2015-10-19 18:58:18 +02:00
Shannon Deminick 2176f2a1c9 Merge pull request #802 from tmoxon/dev-v7
Null check to prevent object reference error with public properties on custom indexers
2015-10-19 18:05:33 +02:00
Mads Rasmussen 3e3ba0ebb7 Merge branch 'dev-v7' into temp-U4-7178-media-library
Conflicts:
	build/UmbracoVersion.txt
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2015-10-19 16:59:10 +02:00
Shannon d5bcfce4db Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into 7.4.0 2015-10-19 16:35:46 +02:00
Shannon Deminick a368b6188b Merge pull request #821 from umbraco/temp-U4-7175
Fixed: U4-7175 Discard changes overlay sometimes breaks the url
2015-10-19 16:34:44 +02:00
Per Ploug 8cf27c810d doctype editcontroller for modelsbuilder 2015-10-19 15:56:49 +02:00
Shannon Deminick 6a351bede1 Merge pull request #823 from umbraco/tmp-6797
U4-6797 - clear domains cache when deleting content
2015-10-19 15:52:37 +02:00
Shannon Deminick efc1aae0ae Merge pull request #822 from umbraco/tmp-3642
U4-3642 - proper validation msg in hostnames dialog
2015-10-19 15:49:09 +02:00
Per Ploug 51c9d64dad Merge branch 'temp-U4-7178-media-library' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7178-media-library 2015-10-19 15:22:38 +02:00
Per Ploug 55b98cc446 Fixed: U4-7271 Folder does not list allowed media types 2015-10-19 15:22:21 +02:00
Mads Rasmussen 75970e9a83 only get sub folders in media section 2015-10-19 14:48:12 +02:00
Mads Rasmussen 386e8e70a0 media grid: set select and click callbacks instead of having logic in directive 2015-10-19 09:18:16 +02:00
Mads Rasmussen a6f4ccdc66 set max width on items in media grid 2015-10-19 09:15:37 +02:00
Per Ploug 13ae946f30 Fixed: U4-7264 Support for folder upload
Fixed issues noted in review
2015-10-19 08:58:52 +02:00
Per Ploug c455c1f930 Fixed: U4-7175 Discard changes overlay sometimes breaks the url 2015-10-19 08:44:21 +02:00
Mads Rasmussen a651b78c1d add bulk actions to editor sub header 2015-10-16 20:07:46 +02:00
Mads Rasmussen e3af2c3bae make it possible to disable umb-button 2015-10-16 20:05:01 +02:00
Mads Rasmussen 34813b9da5 fix sticky bar styles and set z-index lower 2015-10-16 18:21:50 +02:00
Stephan df39e027fd U4-3642 - proper validation msg in hostnames dialog 2015-10-16 17:23:12 +02:00
Stephan 64f05e4c97 U4-6797 - clear domains cache when deleting content 2015-10-16 17:21:44 +02:00
Mads Rasmussen a2e8f27c68 remove folder logic from media grid 2015-10-16 17:21:08 +02:00
Mads Rasmussen 7e58b28f2b media library - get and show child folders 2015-10-16 17:17:01 +02:00
Mads Rasmussen a0383aa78f add directive to list folders in a flexbox grid 2015-10-16 17:13:10 +02:00
Mads Rasmussen 0b7f6b3239 add support for icon on link style buttons 2015-10-16 17:10:21 +02:00
Mads Rasmussen 620d5f0ba4 Merge branch 'temp-U4-7178-media-library' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7178-media-library 2015-10-16 17:08:26 +02:00
Per Ploug 44226a22e9 Removes legacy files 2015-10-16 15:16:43 +02:00
Per Ploug 9955084cd6 Ensures routing only loads from all-lower case templates 2015-10-16 15:16:41 +02:00
Per Ploug 92aee24f0c Moves cache refreshing into a submodule
So it doesnt conflict with templateCache (also an issue with ng-tables)
2015-10-16 15:16:41 +02:00
Per Ploug d8fc73d36b Grunt and npm file for experiment view cache 2015-10-16 15:16:40 +02:00
Per Ploug Krogslund d1a7a94cd4 Adjust directive filenames to all lowercase. 2015-10-16 15:13:48 +02:00
Per Ploug Krogslund 1a9bac67a1 hex background moved forms directives 2015-10-16 15:13:47 +02:00
Per Ploug Krogslund 285b072f17 navresize moved to app directives 2015-10-16 15:13:47 +02:00
Per Ploug Krogslund b6e879cb5c ump-confirm moved to components/ 2015-10-16 15:13:46 +02:00
Per Ploug Krogslund b13b329f90 Panel, panel and control group moved to components 2015-10-16 15:13:46 +02:00
Per Ploug Krogslund 3c4b398ebd Tab views path typo 2015-10-16 15:13:45 +02:00
Per Ploug Krogslund 881713c360 All app specific directives in /components/applications
All directives used for the main application grid, such as section
navigation, avatar etc in one place
2015-10-16 15:13:44 +02:00
Per Ploug Krogslund 045bc91bbc umb-property.html Moved to components/editor/
Duplicate files, removing this one.
2015-10-16 15:13:44 +02:00
Per Ploug Krogslund eda337d955 ump-editor.html replaced by umb-property-editor
Still backwards compatible, but more obvious name
2015-10-16 15:13:43 +02:00
Per Ploug Krogslund 443c31dc4a Moves grid.rte directive to components/grid 2015-10-16 15:13:42 +02:00
Per Ploug Krogslund 99c084186b Directive cleanup
Moves all form elements related directives to components/forms
Moves tree directives to components/tree
Moves image+cropper directives to components/imaging
Moves validation directives to components/validation
Moves all obsolete directives and their views to _obsolete (still
works)
2015-10-16 15:13:42 +02:00
Per Ploug Krogslund daf5b2f68b Imaging directives moved into components 2015-10-16 15:13:40 +02:00
Per Ploug Krogslund 12ed9193a0 Remove never used umb-field directive 2015-10-16 15:13:40 +02:00
Per Ploug Krogslund b2afbc24d9 Remove umb-blur in favour of on-blur directive
Was only used in content-type editor work sofar
2015-10-16 15:13:39 +02:00
Per Ploug Krogslund 185e567ef4 Consistant tab directive paths 2015-10-16 15:13:38 +02:00
Shannon 30bc89ba93 U4-7092 can't show avatar because in China all users can't access to some sites. - Fixes where and how the avatar gets loaded, we first check if it exist or that we can connect to the internet and then load it, removes the avatar loading from the user service.. not sure why it was even there. 2015-10-16 14:45:49 +02:00
Shannon 841c8d69fc removes unused avatar directive 2015-10-16 14:30:23 +02:00
Shannon aa780d2b8a updates the googlefontpicker to lazy load the required google font lib. 2015-10-16 14:09:54 +02:00
Shannon 59f15f1618 updates the canvas loader, ensures that there are no external dependencies and that paths are relative. 2015-10-16 14:09:27 +02:00
TOXIC\Tobbe b2f0a9f23d Hoover a property in backend to get its alias 2015-10-16 14:07:19 +02:00
Shannon 40cd07f3f4 removes wide setting from canvas designer since it does not exist. 2015-10-16 13:36:30 +02:00
Shannon 99e7f84f79 Moves EnableCanvasDesigner to HtmlHelperRenderExtensions because it's for rendering html, obsoletes the old ones and fixes up the canvasdesigner to use
the correct umbraco paths instead of hard coded absolute paths.
2015-10-16 13:36:10 +02:00
Per Ploug b6bbb8e79d Related to: U4-7264 Support for folder upload
Enable a larger file max size for upload as 4mb is quickly very
limiting.
2015-10-16 12:58:08 +02:00
Per Ploug f7c2f779c2 Fixed: U4-7264 Support for folder upload
part of the media library polish, when a folder is dragged to the view,
it will check if folders exist, and create if needed, this makes it
easier to replicate a folder structure when uploading.
2015-10-16 12:48:34 +02:00
Stephan 3a5a32c65f U4-7255 - fix RefreshInstruction serialization 2015-10-16 12:28:14 +02:00
Per Ploug 53fdc801f3 Return basic entity instead of display entity 2015-10-16 11:32:13 +02:00
Mads Rasmussen d10752bbf9 move sub header up to header to save space 2015-10-16 09:42:40 +02:00
Mads Rasmussen fbbaa15429 editor sub header: less top and bottom padding + better bar top position for better transition to fixed position 2015-10-15 21:14:13 +02:00
Shannon c2627f3a2a removes strange parse feed method, what the heck is this? it isn't used so its removed 2015-10-15 19:17:47 +02:00
Shannon 22b8d41aee U4-5963 There should be no external request dependencies - updates nonodes, removes the font references that is never used, replaces the open sans font-reference with the one that we already have locally and uses it. 2015-10-15 19:08:53 +02:00
Jeavon ee47ea2026 Fix for U4-7260 - Multi node tree picker with no selection can cause a error to display in the backoffice 2015-10-15 16:29:40 +01:00
Shannon cc55af07f1 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
Conflicts:
	build/UmbracoVersion.txt
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2015-10-15 17:16:48 +02:00
Shannon 57622cef9a Fixes: U4-7198 Change default log4net config to include machine name in file name 2015-10-15 17:14:24 +02:00
Shannon 30ad3f5aa6 bumps version 2015-10-15 17:12:13 +02:00
Shannon 2c11f0be0f updates method to use the available request instance instead of using HttpContext.Current! no idea why it was using that. 2015-10-15 17:07:46 +02:00
Shannon c514ce8da3 Fixes: U4-7248 Can't update roles on public access, obsolete AddOrUpdateRule 2015-10-15 17:06:00 +02:00
Shannon 7268c6786d manual merge back in the temporary DeleteContainerById method 2015-10-15 15:42:46 +02:00
Shannon 8205048e4d Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into dev-v7-contenttypeeditor-validation
Conflicts:
	src/Umbraco.Web.UI.Client/src/common/resources/membertype.resource.js
	src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
	src/Umbraco.Web/Editors/ContentTypeController.cs
2015-10-15 15:32:48 +02:00
Shannon e1629932dc Wires up the correct saving logic + validation for the member type editor, moves the GetSafeAlias method to the EntityController 2015-10-15 15:29:14 +02:00
Shannon 33c206d820 Wires up the correct saving logic for media types + validation, refactors the logic so it can be reused everywhere. 2015-10-15 14:48:50 +02:00
Mads Rasmussen 1e81a6d638 Merge branch 'temp-U4-7178-media-library' of https://github.com/umbraco/Umbraco-CMS into temp-U4-7178-media-library 2015-10-15 14:34:20 +02:00
Mads Rasmussen efb96b25fc Add tooltip directive, use tooltip to show media item details, styles changes to media items to fit in info icon 2015-10-15 14:33:36 +02:00
Per Ploug f5fa860b5c Get Media folders from node 2015-10-15 14:08:29 +02:00
Per Ploug 755853cc50 Sets up trees, menus and dialogs for content type moving
The actual service apis for moving is not implemented yet, but this is
the scaffold for using it.
2015-10-15 13:14:13 +02:00
Per Ploug 4d5ba9304f Adds modelbuilder ui intergration
As we load the doctype editor, we detect if the install has the models
builder dlls, if not found / error, we should the normal save button,
otherwise you get a button + generate models option.
web.configs + translated prepared as well, but nothing is active untill
the zbu dlls are dropped in bin
2015-10-15 13:14:06 +02:00
Per Ploug 205a6c2b4a Added folder delete to membertype delete dialog
Still needs serverside support
2015-10-15 13:13:56 +02:00
Per Ploug 03b1285e87 Missing controller file for mediatype delete dialog 2015-10-15 13:13:48 +02:00
Per Ploug 735831bd98 Added client-side parts to folder deletion for media types 2015-10-15 13:13:38 +02:00
Per Ploug aedd7d3268 Update copy on delete dialogs for folders / non-folders 2015-10-15 13:13:27 +02:00
Per Ploug 1ff1f54769 Update member services to include delete method 2015-10-15 13:13:20 +02:00
Mads Rasmussen 74bf23140b add no-margin-bottom modifier to form styling 2015-10-14 19:52:51 +02:00
Mads Rasmussen d78f426e94 add styling to sortable placeholder 2015-10-14 19:51:29 +02:00
Mads Rasmussen 6586f08a2f Add editor sub header to list view 2015-10-14 19:40:34 +02:00
Mads Rasmussen 550cff0fcb bind sortable logic to html 2015-10-14 19:39:04 +02:00
Mads Rasmussen 31e84ae9ae remove unused attr on umb-editor-sub-header directive 2015-10-14 19:31:08 +02:00
Shannon 815d34f8a6 exposes api on valFormManager which can be used instead of subscribing to events, changes valTab to use this api instead of events, ensures locked field has a ng-form wrapper so the validation messages are displayed. 2015-10-14 17:51:00 +02:00
Shannon 85e46cbbe5 Fixes: U4-7251 When changing a data type name to be the same as another we suffix the duplication with a number - this needs to be reflected in the UI 2015-10-14 16:54:58 +02:00
Shannon Deminick edfe91a8b2 Merge pull request #808 from umbraco/temp-U4-7241
Fixed: U4-7241 - Add more contrast to icons in umb-card-grid
2015-10-14 16:23:01 +02:00
Shannon Deminick 1e8f5ed29b Merge pull request #809 from umbraco/temp-U4-7242
Fixed: U4-7242 - call function on view model and not scope + clear item details on search
2015-10-14 16:21:55 +02:00
Shannon Deminick 6fdea4217a Merge pull request #807 from umbraco/temp-U4-7240
Fixed: U4-7240 Change add property color to blue
2015-10-14 16:14:15 +02:00
Mads Rasmussen 5f25844921 add client side sorting to media grid 2015-10-14 15:55:49 +02:00
Mads Rasmussen f9a236f639 add directives to add sub headers to editors, make left and right content in sub headers and make sub sections 2015-10-14 15:32:54 +02:00
Mads Rasmussen 071eb4bc23 add directive to make sticky bars 2015-10-14 15:28:48 +02:00
Claus 5af5599371 Ensuring the RevertToCleanInstall and RevertToEmptyInstall scripts only deletes view files. 2015-10-14 14:56:03 +02:00
Claus 3ea7107198 Adding back these for iPhone/Android touch friendly keyboards.
https://github.com/umbraco/Umbraco-CMS/pull/800#issuecomment-147405345
2015-10-14 14:17:52 +02:00
Shannon c0bd5f4d14 Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into dev-v7-contenttypeeditor-validation 2015-10-14 12:54:10 +02:00
Shannon Deminick 03a79aa2f3 Merge pull request #812 from umbraco/temp-U4-7174
Fixes: U4-7174 - Move folder to bottom of list, make doc w and w/out …
2015-10-14 12:52:59 +02:00
Shannon 21a748af29 Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into dev-v7-contenttypeeditor-validation
Conflicts:
	src/Umbraco.Web.UI.Client/src/common/directives/validation/valregex.directive.js
	src/Umbraco.Web.UI.Client/src/less/forms.less
2015-10-14 12:13:51 +02:00
Shannon Deminick cd0b81e1b2 Merge pull request #811 from umbraco/temp-U4-4652
Temp u4 4652
2015-10-14 12:09:52 +02:00
Shannon 327a00aaf4 Fixes issue with migrations running with a Decimal column:
The logic would produce incorrect syntax.
Fixed the default string column for sql server, made them all consistent.
Moved ctor logic for shared sql syntax providers to the base class.
Created formatted Decimal column definitions so that a custom precision/scale works.
Set the migration to use the default precision/scale values.
Removes the pattern validators because they don't do anything... due to the fix-number directive which has it's own issues but we won't solve those now.
2015-10-14 12:07:50 +02:00
Sebastiaan Janssen 65d421b619 Can_Update_Rule was wrong, it's not possible to "update" a rule, can only add or remove - added a test for removing 2015-10-14 11:32:55 +02:00
TimGeyssens 7eeb0c4966 Fixes U4-7249 Insert Macro split button, when selecting a macro that has parameters the dialog should immediately show those 2015-10-14 11:29:34 +02:00
Sebastiaan Janssen 62897f7064 Test was wrong, 2 rules were added and was expecting 1 to be returned, now that the code is fixed, this test needs to be corrected 2015-10-14 11:13:23 +02:00
Sebastiaan Janssen e0619edabb U4-6962 Public access in multiple levels is broken in 7.3
#U4-6962 Fixed
2015-10-14 10:19:39 +02:00
Mads Rasmussen b9470c1bc1 Fixes: U4-7174 - Move folder to bottom of list, make doc w and w/out texts easier to differentiate + auto focus doc type with template 2015-10-14 10:01:53 +02:00
Claus d92af31b0a Fixes: U4-7246 Integer datatype PropertyEditor is missing ValueType definition 2015-10-14 09:59:13 +02:00
AndyButland 7efa0bed46 Added pattern to integer and decimal property editor views to support numeric keyboards on mobile 2015-10-14 09:59:12 +02:00
AndyButland 09ec87c1c7 Added unit tests for decimal conversion in property editor value editors 2015-10-14 09:59:11 +02:00
AndyButland b48b18ec8a Added migration for 7.4.0 for additional column required for decimal property editor 2015-10-14 09:59:10 +02:00
AndyButland dda247fea5 Implemented decimal property editor 2015-10-14 09:59:09 +02:00
Claus 30d8e53541 Merge remote-tracking branch 'origin/dev-v7' into dev-v7-contenttypeeditor 2015-10-14 09:58:43 +02:00
Shannon 222d126508 adds a ctor to the BackOfficeUserManager to allow better inheritance so that all settings are initialized by default. 2015-10-13 17:43:40 +02:00
Sebastiaan Janssen 4142f47861 U4-6125 Installing MySQL Web Provider Breaks Page Publishing
#U4-6125 Fixed Due in version 7.3.1
2015-10-13 13:48:58 +02:00
Sebastiaan Janssen 7135f9a268 Removes message that is no longer correct 2015-10-13 13:12:28 +02:00
Mads Rasmussen 83deecc6d6 Fixed: U4-7242 - call function on view model and not scope + clear item details on search 2015-10-13 12:06:28 +02:00
Claus Jensen 5ddf544812 Merge pull request #806 from umbraco/temp-U4-7172
Fixed: U4-7172 When a locked field is unlock, focus and select value
2015-10-13 11:41:03 +02:00
Mads Rasmussen 0f5d04b2ed Fixed: U4-7241 - Add more contrast to icons in umb-card-grid 2015-10-13 11:10:13 +02:00
Mads Rasmussen 839526414f Fixed: U4-7240 Change add property color to blue 2015-10-13 10:45:44 +02:00
Mads Rasmussen 5709a41ee0 Fixed: U4-7172 When a locked field is unlock, focus and select value 2015-10-13 09:56:04 +02:00
Mads Rasmussen 9297b27536 fix paths on document types and member types views 2015-10-13 09:15:39 +02:00
Niels Hartvig a75a58b719 Fixes #7234 2015-10-12 18:45:01 +02:00
Claus Jensen 7b969fc167 Merge pull request #790 from umbraco/U4-7075
Fixes: U4-7075 Enable Content and Media section by default for new ba…
2015-10-12 14:46:28 +02:00
Rasmus John Pedersen 78475b0686 Added recursive option to copy dialog 2015-10-09 20:25:51 +02:00
Shannon 2922e962e0 Gets validation working with composition alias conflicts 2015-10-09 19:03:11 +02:00
Shannon 6017e9ddf9 Gets group and property level validation wired up to the fields, ensures things like duplicate field warnings are created with the correct indexed field names. Fixes a few old directives to correctly watch for attribute interpolation changes which is need for some of this validation to work since it's dynamically populating the field names. 2015-10-09 17:28:22 +02:00
Mads Rasmussen e4a8804058 U4-7181: Add uploader to media list view 2015-10-09 14:43:54 +02:00
Mads Rasmussen 84e15249c7 U4-7182: clear folders and media items before pushing new data + add watcher for updated data. 2015-10-09 14:40:19 +02:00
Mads Rasmussen fe5c5991d9 list view - clearfix header 2015-10-09 13:36:17 +02:00
Per Ploug 9d220b40af Fixed: U4-7207 Cant save partial view more then once 2015-10-09 11:09:27 +02:00
Per Ploug dee16b3b70 Fixed: U4-7176 Content copy should relate to original by default 2015-10-09 10:41:03 +02:00
Per Ploug fc06bbf116 Rolls back a grunt file path issue 2015-10-09 08:56:11 +02:00
Per Ploug 67bdcfedf1 Membertype view path incorrect 2015-10-09 08:53:37 +02:00
Per Ploug 9e94f326aa Removes static text from doctype delete 2015-10-09 08:48:21 +02:00
Per Ploug ffc52d0105 Fixes U4-7177 Tree dialogs disappear after opening 2015-10-09 08:47:14 +02:00
Mads Rasmussen a199525d0f U4-7182: add flex box version of media image grid to list view 2015-10-08 21:36:08 +02:00
Mads Rasmussen 3405a97ed4 U4-7215 Shared pagination for all layouts 2015-10-08 21:26:34 +02:00
Shannon c477f7a840 Gets more validation bits wired up. Server side validation is now working which is based on val-server-field since we can use this natively with the asp.net ModelState result instead of the val-server which is actually to be used with PropertyType (Property Editors). Next up is validation for the different tabs of the editor. 2015-10-08 17:13:38 +02:00
Mads Rasmussen 246244a774 U4-7205: set aliases to camelCase 2015-10-07 19:34:17 +02:00
Mads Rasmussen 8ae40751a9 U4-7204 The grid: The insert control overlay do not close on mouse out 2015-10-07 19:17:26 +02:00
Shannon 97c352030a Gets a little more validation working and creating using the new Save models 2015-10-07 17:16:42 +02:00
Mads Rasmussen 99a9af833e U4-7179: add layout selector to list view 2015-10-07 14:31:48 +02:00
Mads Rasmussen 86d05ccf95 add layouts prevalue editor to list view 2015-10-06 21:03:00 +02:00
Shannon 33906c7730 Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into dev-v7-contenttypeeditor-validation
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
2015-10-06 17:21:49 +02:00
Shannon 1b21e04dc2 WIP for model mappers to new content editor save model, udpates to js to use that 2015-10-06 17:19:08 +02:00
Shannon 4925d55e8f Fixes: U4-7197 open redirect vulnerability with ClientRedirect 2015-10-06 11:46:38 +02:00
Shannon 52d2306e17 Fixes: U4-7196 XSS vulnerability in BrowseRepository 2015-10-06 11:36:54 +02:00
Shannon 5e5207d4f3 Fixes: U4-7194 XSS issue with regexws page, U4-7195 XSS issue with editview.aspx 2015-10-06 10:56:16 +02:00
Sebastiaan Janssen 96d46c82fe U4-7193 NuGet install doesn't add all bindingRedirects
#U4-7193 Fixed Due in version 7.3.1
2015-10-06 08:58:19 +02:00
Per Ploug 86bf50db12 Merge pull request #803 from Tazer/dev-v7
Updated readme with working intro video , that is for umbraco v7
2015-10-05 14:28:08 +02:00
Patrik 14778422e6 Updated readme with working intro video , that is for umbraco v7 2015-10-05 14:22:57 +02:00
tmoxon 6a931273a6 The indexing api would break if an indexer was created with a public property defaulting to a null value. This would result in an object reference error in the admin system. Added null check and warning to the log. 2015-10-01 14:42:32 +01:00
Sebastiaan Janssen 5fab1ea436 U4-7164 Nuget Update-Package UmbracoCms fails if I have removed dashboard section
#U4-7164 Fixed Due in version 7.3.1
2015-10-01 08:52:40 +02:00
Mads Rasmussen df76554aaf U4-5523: move change password to it's own part of user fly out to minimize visual clutter, use new 7.4 buttons + remove functionality from dashboard files. 2015-09-30 12:16:30 +02:00
Mads Rasmussen c604f3591f Merge branch 'arknu-changepassword-fix' into dev-v7-contenttypeeditor 2015-09-30 11:29:52 +02:00
Mads Rasmussen 9d1d53524a Merge branch 'changepassword-fix' of https://github.com/arknu/Umbraco-CMS into arknu-changepassword-fix 2015-09-30 11:28:52 +02:00
Shannon d50e49ad37 Fixes: U4-7120 SQL Fail upgrading om 7.2.4 to 7.3 - due to index on master col 2015-09-29 11:55:21 +02:00
Shannon c8dc10f2e3 Fixes: U4-7159 XSS issue with EditMacro.aspx 2015-09-29 11:44:22 +02:00
Mads Rasmussen 39d9e98f6a use new overlay directive in related links property editor 2015-09-29 11:39:22 +02:00
Mads Rasmussen b29dcd10d4 added contentpicker and memberpicker overlays 2015-09-29 11:37:44 +02:00
Mads Rasmussen c4aa523564 U4-7138 Need to review hard coded view paths, section and tree names 2015-09-29 11:36:23 +02:00
Shannon 0504663814 Fixes: U4-7158 Fix OrderBy query string parameter which can allow SQL Injection 2015-09-29 11:28:12 +02:00
Mads Rasmussen 289ef0489d Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-09-29 11:14:21 +02:00
Per Ploug ebbde5f64b Rolling back members tree alias to "tree" due to UI issues 2015-09-29 11:05:38 +02:00
Shannon 62611a7255 U4-7157 remove ~/umbraco/webservice.asmx 2015-09-29 10:54:56 +02:00
Mads Rasmussen 2f19103358 rename document types controller to match tree 2015-09-29 09:04:30 +02:00
Mads Rasmussen 1e3d918a74 rename media types controller to match tree 2015-09-29 09:03:35 +02:00
Mads Rasmussen aa610d5af9 rename member types controller to match tree 2015-09-29 09:01:59 +02:00
Mads Rasmussen 4fe946ac4a fix bug in multi node picker - use tree picker instead of content picker 2015-09-28 20:32:08 +02:00
Mads Rasmussen 52866dd8c8 rename member types folder to match tree 2015-09-28 20:14:32 +02:00
Mads Rasmussen f7b4b906cc rename members folder to match tree 2015-09-28 20:05:53 +02:00
Mads Rasmussen 6f5fef6d2c rename media types folder to match tree 2015-09-28 19:45:48 +02:00
Mads Rasmussen 3d61344033 rename document types folder to match tree 2015-09-28 19:33:24 +02:00
Mads Rasmussen 121c2f838c rename data type folder and update data type tree 2015-09-28 16:53:23 +02:00
Mads Rasmussen 57b987b655 property settings overlay: bump up size on editor settings icon 2015-09-28 15:39:52 +02:00
Mads Rasmussen 891b04a3a8 bump up icon size on action toolbar 2015-09-28 15:34:41 +02:00
Mads Rasmussen 12e3783364 content type editor: bump up property actions icon size 2015-09-28 15:27:56 +02:00
Mads Rasmussen 5abcd01ffb check for propertyForm to prevent js error in content type editor 2015-09-28 15:23:22 +02:00
Mads Rasmussen ac42f1c1d8 U4-6924 add accepted files to media picker and folder browser 2015-09-28 13:46:24 +02:00
Mads Rasmussen e1f3e82fbf U4-6924 Updated ng-file-upload bower dependency to latest version, added support for accepted file types and max file size in directive. Get file types from config. Still missing max file size. 2015-09-28 11:55:12 +02:00
Per Ploug b10afa9c0f Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-09-28 09:31:01 +02:00
Per Ploug 6c5e35ec2c Fixed: U4-7150 Inconsistent tree aliases
Changes all translation files and tree classes to have consistent
naming, updates trees.config to these new alias's
2015-09-28 08:54:00 +02:00
Daniel Andreasen 5310ce38fd Merge pull request #1 from umbraco/dev-v7
update original fork
2015-09-27 23:30:26 +02:00
Per Ploug e4e3c46d15 Remove the culture from tree header localization 2015-09-25 16:29:41 +02:00
Marc Stöcker 9a99ed655a Major revamp with keys added and texts fixed everywhere
Thanks to @merkledo and the others of the Stuttgart Umbraco Meetup, we pulled together all the bits and pieces for a single solid translation file. Even if not perfect it will still be better than everthing we had before and something we hopefully can keep current from now on.
2015-09-25 15:09:53 +02:00
Shannon 7610b6f592 Merge branch 'dev-v7-contenttypeeditor' into dev-v7-contenttypeeditor-validation 2015-09-25 14:27:10 +02:00
Shannon aeb317f06f Merge remote-tracking branch 'origin/dev-v7' into dev-v7-contenttypeeditor 2015-09-25 14:26:51 +02:00
Shannon 97c0192475 adds no-margin class modifier for control-group, adjust minor styles to the previous fields i updated and add required to the group name with control-group so it shows validation errors 2015-09-25 14:26:10 +02:00
Shannon b27200ec36 streamlines some validation styling: no more focuses border highlighting since that doesn't work consistently with all fields, ensures that the new fields have a border but it's set to transparent since we want to show a border for validation, removes the zero padding from new fields since when a validation border is added it doesn't look good and now padding is just using the base consistent padding for fields. Moves the valrequirecomponent.directive to the validation folder. 2015-09-25 14:06:07 +02:00
Shannon 407cd0ca60 Streamlines TypeFinder with better lock and an error check on app_code which could otherwise bring down the app 2015-09-25 11:29:09 +02:00
Shannon f41f565eb8 Fixes: U4-7136 Client side validation no longer works for header text 2015-09-24 16:17:14 +02:00
Shannon 5fff1e4ac5 Fixes umb-editor-header to toggle visibility of certain fields based on boolean toggles since we cannot rely on model values being undefined when there are validators present because validators change the model value to undefined. 2015-09-24 15:53:24 +02:00
Per Ploug 8d57e0cd1d Less hacky way to lookup current user culture 2015-09-24 15:52:44 +02:00
Per Ploug c13ae20885 U4-4761: adds overload to treeattribute 2015-09-24 15:49:17 +02:00
Per Ploug 8a3deb5270 Minor css tweak to tabview control 2015-09-24 15:30:28 +02:00
Per Ploug 6dc4e2d2ae U4-4761 Member translation
Makes all trees translateable, does not break the current titles set on
atttributes, but for trees that does not have a title set, the tree wil
try to look up a treeheader.
2015-09-24 15:30:08 +02:00
Per Ploug 60041a2893 U4-7058 New content type editor: saving new data types
Removes toggle from repository
2015-09-24 13:12:44 +02:00
Shannon 1410a2d482 Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into dev-v7-contenttypeeditor-validation 2015-09-24 12:14:14 +02:00
Shannon 94bc440437 adds note 2015-09-24 12:14:08 +02:00
Per Ploug b384f1b0c3 adds a private identifier validation method
Fixes issue with Umbraco Forms not being able to save
2015-09-24 11:39:43 +02:00
Per Ploug 9f9946eb1f Default contenttype icons 2015-09-23 21:01:32 +02:00
Per Ploug 1d23d2b7c6 Fixed: New document types fails to save 2015-09-23 20:40:03 +02:00
Per Ploug 3b21936898 Ensure unique data type names 2015-09-23 16:17:44 +02:00
Shannon a7a262de8b Ensures validation messages are shown for the alias and that the aliases is validated with regex too 2015-09-23 16:04:23 +02:00
Shannon 6180784646 Fixes client side validation on editorsettings 2015-09-23 15:44:38 +02:00
Shannon 79eb8176ac bumps version and website port 2015-09-23 14:21:14 +02:00
Shannon ff9027c07d Merge branch 'dev-v7' into dev-v7-contenttypeeditor 2015-09-23 14:03:15 +02:00
Mads Rasmussen d80d42a7c6 Fixed: U4-4051 Remember latest folder in media picker 2015-09-23 13:51:18 +02:00
Shannon 14c4e9dda7 Fixes upgrade issue for when the same alias is used between content types and media types. 2015-09-23 11:29:29 +02:00
Sebastiaan Janssen 12fb549469 Merge pull request #798 from JimBobSquarePants/feature/update-imageprocessor
Update ImageProcessor dependency for core
2015-09-23 10:56:25 +02:00
James Jackson-South 2599fdb1d2 Fix missing project reference 2015-09-23 18:06:49 +10:00
Sebastiaan Janssen d05395075d Indentation 2015-09-23 08:34:55 +02:00
Sebastiaan Janssen 664ecd6bb7 Merge pull request #797 from JimBobSquarePants/feature/nuget-restore
Add custom repo package restore
2015-09-23 08:33:56 +02:00
James Jackson-South 6b639e940c Update ImageProcessor dependency for core
An update to U4-7053. Reduced memory usage plus web optimised images.
2015-09-23 16:05:07 +10:00
James Jackson-South 5b688d42ba Add custom repo package resotore
Adds the ability for contributors to pull the Umbraco specific Nuget
packages from the Myget repository using package restore.

https://docs.nuget.org/consume/nuget-config-file
2015-09-23 15:56:05 +10:00
Mads Rasmussen 1d3b18b964 auto focus mandatory checkbox when editor picker overlay closes 2015-09-22 20:47:29 +02:00
Mads Rasmussen 781c3007e6 auto focus add property when dialog closes 2015-09-22 20:45:03 +02:00
Stephan 3124ea4e67 U4-7129 - BatchedDatabaseServerMessenger degraded non-batching mode when no context 2015-09-22 18:20:49 +02:00
Stephan e9afa78444 U4-7124 - add initial migration as part of BaseDataCreation 2015-09-22 18:16:35 +02:00
Mads Rasmussen a095301dd1 rename icon picker controller 2015-09-22 16:13:02 +02:00
Mads Rasmussen 3a068b1f62 rename property settings controller 2015-09-22 16:12:15 +02:00
Mads Rasmussen b34d911088 rename editor picker controller 2015-09-22 16:11:41 +02:00
Mads Rasmussen 4a56d0a903 move editor settings to overlay folder + rename 2015-09-22 15:56:32 +02:00
Mads Rasmussen db464e9c2b move editor picker overlay to overlays + rename 2015-09-22 15:38:45 +02:00
Stephan ef6fd54af3 Merge pull request #795 from Jeavon/U4-6784
Fix for U4-6784 Multiple Media Picker
2015-09-22 15:37:34 +02:00
Mads Rasmussen 60745d1b81 move property settings overlay to overlay folder + rename 2015-09-22 14:54:37 +02:00
Mads Rasmussen 5bfc4e1e8e move compositions overlay to overlay folder 2015-09-22 14:45:53 +02:00
Shannon 03f68cefb7 performs a fallback check for HttpContext in the batched server messengers in some cases where cache refreshers are executed on async threads... though there's not much we can do about when they are fired on background threads. 2015-09-22 14:39:55 +02:00
Mads Rasmussen bcdcf441e1 Umb groups builder - move logic to overlays and open sub overlays from overlays 2015-09-22 14:39:19 +02:00
Shannon f8fa7df3f3 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-09-22 12:19:22 +02:00
Shannon 25cfe0193c adds detailed shutdown info to logs by default 2015-09-22 12:19:14 +02:00
Stephan 3612780d15 git-ignore loader.dev.js 2015-09-22 11:18:06 +02:00
Mads Rasmussen c94ae3b9bd Grid edit config - use new overlay directive 2015-09-21 15:59:42 +02:00
Mads Rasmussen bd3b76250f property settings textareas - submit on enter 2015-09-21 15:57:41 +02:00
Mads Rasmussen 9f47c6cd95 Overlay: allow adding spaces in textareas + submitting on enter 2015-09-21 15:56:47 +02:00
Jeavon 7d8247047b Fix for U4-6784 Multiple Media Picker - Failed to retrieve entity data for ids 2015-09-21 14:23:36 +01:00
Mads Rasmussen a82c25c967 Grid row delete - use new overlay directive 2015-09-21 14:29:08 +02:00
Mads Rasmussen 7d9aa29bcd ensure dialogs doesnt have side-by-side labels 2015-09-21 14:26:35 +02:00
Robert Foster e9d0aa87bd Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' 2015-09-21 20:32:43 +10:00
Mads Rasmussen 173f3762ac Grid row config - use new overlay directive 2015-09-21 12:31:32 +02:00
Mads Rasmussen 1ab724531d Grid layout config - use to new overlay directive 2015-09-21 10:54:31 +02:00
Mads Rasmussen 96b2e9a832 open preValue media picker in new overlay 2015-09-21 08:58:31 +02:00
Mads Rasmussen 80ce7bd1fb Open preValue treePicker in new overlay directive 2015-09-21 08:57:24 +02:00
Mads Rasmussen 49ea0053b7 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-09-20 15:49:14 +02:00
Mads Rasmussen d260c660b5 clean up unused attributes 2015-09-20 15:38:49 +02:00
Mads Rasmussen f220da9423 copy treePicker, memberPicker and contentPicker dialogs to new overlay directive 2015-09-18 14:26:54 +02:00
Mads Rasmussen c15bd3ea31 add support for ng-show on overlay directive 2015-09-18 13:59:49 +02:00
Stephan c3076d6b8d Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-09-18 13:43:16 +02:00
Stephan ae7a9a2fed Merge remote-tracking branch 'origin/dev-v7' into dev-v7-contenttypeeditor 2015-09-18 13:41:54 +02:00
m_stodd 7abbfbcfcc Setting UMB_CONTEXT with Domain "FALSE"
Running Umbraco on localhost, Chrome does not handle received 'Set Cookie's with no domain.  "FALSE" works as noted here:  http://stackoverflow.com/questions/1134290/cookies-on-localhost-with-explicit-domain
2015-09-18 02:13:12 -05:00
Per Ploug Krogslund d9d2403d99 csproj file 2015-09-17 14:08:56 +02:00
Per Ploug Krogslund 10d8fdba75 Updates template tree controller for angular view 2015-09-17 14:08:56 +02:00
Sebastiaan Janssen 91a1955454 Make sure to redirect to the current version of HTML Agility Pack 2015-09-17 12:20:11 +02:00
Mads Rasmussen 6a2b0a9e14 Copy media picker to new overlay directive 2015-09-17 09:57:01 +02:00
Mads Rasmussen 557b8675b1 textbox property editor: remove inline validation and only rely on server validation. The inline validation prevented the content type editor to save 2015-09-17 09:38:19 +02:00
Mads Rasmussen 74dc7bd3e9 fix overlay transclude 2015-09-17 09:36:37 +02:00
Mads Rasmussen aa2e5489f5 overlay content container - set overflow-x to hidden 2015-09-17 09:34:13 +02:00
Mads Rasmussen e896268309 add timeout to wait for html element when using it with ng-show/ng-if 2015-09-17 09:32:18 +02:00
Sebastiaan Janssen 1f3c396c5b Using protocol-relative URLs is an antipattern, just use https if you know it exists 2015-09-16 19:00:14 +02:00
Sebastiaan Janssen b9dd0ab1a9 Bump version 2015-09-16 18:58:45 +02:00
Shannon 779dd26527 Fixes: U4-6969 Property label localization in 7.3 always uses en-US locale 2015-09-16 15:22:40 +02:00
Shannon 65969e22a0 removes commented out code 2015-09-16 14:33:30 +02:00
Shannon 23f7a4e53f Set min password length is 8 characters by default for release 2015-09-16 14:32:56 +02:00
Stephan 9c9ba477aa Merge dev-v7 into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Core/Constants-ObjectTypes.cs
	src/Umbraco.Web.UI.Client/gruntFile.js
	src/Umbraco.Web.UI.Client/src/loader.dev.js
	src/Umbraco.Web.UI.Client/src/views/content/recyclebin.html
	src/Umbraco.Web.UI.Client/src/views/datatype/edit.html
	src/Umbraco.Web.UI.Client/src/views/media/recyclebin.html
	src/Umbraco.Web/Umbraco.Web.csproj
2015-09-16 13:25:32 +02:00
Stephan 5b1ed8bef5 U4-7108 - fix ContentTypeService.GetMediaType(guid) 2015-09-16 11:08:18 +02:00
Mads Rasmussen 801892400d move icon picker overlay to overlay folder. Set up default overlay for icon picker 2015-09-15 15:28:10 +02:00
Mads Rasmussen 23578b8550 move item picker to new overlay folder. Set default overlay for an itemPicker. 2015-09-15 15:18:40 +02:00
Mads Rasmussen 20f36357c3 overlay: click button or link if focused instead of submitting form 2015-09-15 14:57:25 +02:00
Mads Rasmussen 0b6b10c81e add enter submit to overlay 2015-09-15 14:45:57 +02:00
Mads Rasmussen 8ac435f6ee Make new overlay version of memberGroupPicker + use in memberGroupPicker property editor. Add support for "standard" overlays in overlay directive 2015-09-15 14:31:14 +02:00
Stephan 583ae2df11 Bugfix 2015-09-15 10:52:32 +02:00
Stephan 14cd1e7a76 Bugfix SqlSyntaxProvider date formatting 2015-09-15 10:49:41 +02:00
Sebastiaan Janssen 4572b55f98 U4-7029 Upgrading Umbraco will remove owin:startup key if configured differently
#U4-7029 Fixed
2015-09-15 10:17:31 +02:00
Mads Rasmussen 8710c0e1ca umb-group-builder: Change text on button when reordering tabs and properties 2015-09-15 09:52:00 +02:00
Mads Rasmussen 2fb229bfb7 updates to overlay: add service to manage number of open overlays, add backdrop for overlay + better support for center overlay 2015-09-15 09:50:07 +02:00
Mads Rasmussen e5781c5e76 Notifications: move notifications directive to new component folder, move styles to new less file, move html element to support resizable pane 2015-09-15 09:39:57 +02:00
Vincent Baaij a22b97643a Merge remote-tracking branch 'umbraco/dev-v7' into dev-v7 2015-09-14 21:53:33 +02:00
Stephan af2dbc7cd9 U4-6811 - bugfix preview set 2015-09-14 12:43:05 +02:00
Shannon 5d7ba5c842 fixes tests 2015-09-14 12:30:32 +02:00
Shannon bee59e39a0 Streamlines migration classes and ctor dependencies... before there was issues because the current db provider was not set correctly so migrations couldn't actually rely onthe CurrentDatabaseProvider property! 2015-09-14 12:01:48 +02:00
Claus 80be614731 Fixes: U4-7075 Enable Content and Media section by default for new backoffice users 2015-09-14 11:06:03 +02:00
Shannon 8d24ac3651 Oops, fixes PK creation logic for MySQL (had the wrong boolean) 2015-09-14 10:33:37 +02:00
Mads Rasmussen 1b45286d52 add tabindex="-1" to header navigation 2015-09-11 19:02:30 +02:00
Shannon 7beb21ad66 Fixes upgrade issues with MySql, along with a few other things:
* All usages of getdate() are changed to the system value
* All usages of newid() are chagned to the system value
* Removes the hacks associated with the above
* Fixes the fluent migrations for table creation for mysql to not double create a PK
* Removes other system field values that actually don't do anthing and shouldn't be used
2015-09-11 17:49:47 +02:00
Shannon ed51dbaf85 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-09-11 13:55:21 +02:00
Shannon 488ba05eda Fixes upgrade issues with SQLCE and DateTime:
* DateTime's during migrations are formatted in a very explicit way
* Migration's that need to execute multiple statements are fixed in SQLCE by splitting on GO
2015-09-11 13:55:13 +02:00
Stephan 5dac5ed88b U4-7084 - fix XmlExtensions, publishing a package works 2015-09-11 13:17:07 +02:00
Shannon 4bb89c1827 Fixes: U4-7090 Upgrade error with dates 2015-09-11 11:49:37 +02:00
Per Ploug 81f206090d Default listview name on mediatypes 2015-09-11 10:42:48 +02:00
Mads Rasmussen 646f54ff4e change property settings name to textarea + add auto resize 2015-09-11 09:42:01 +02:00
Mads Rasmussen b69e75ee7b umb-auto-resize: remove unnecessary bindings and updates 2015-09-11 09:19:58 +02:00
Mads Rasmussen e5bbfc6c6a set word wrap on alias 2015-09-10 21:03:04 +02:00
Mads Rasmussen 3ad44ae8f8 remove white space between properties 2015-09-10 21:01:36 +02:00
Mads Rasmussen 25e7a243fb make property hover border dashed 2015-09-10 20:41:08 +02:00
Mads Rasmussen f2719692e5 remove fade on active to prevent UI "jumping" 2015-09-10 20:39:26 +02:00
Shannon Deminick 647c7a6ce0 Merge pull request #788 from dampee/fixes/U4-7087
U4-7087 make pageId getter public to be able to unittest
2015-09-10 19:09:23 +02:00
Damiaan 6d5a8c0db7 U4-7087 make pageId getter public to be able to unittest 2015-09-10 18:11:18 +02:00
Stephan 3314ab026b U4-7083 - filesystems, polish, fix, and back-compat 2015-09-10 14:20:21 +02:00
Stephan 8b612a1047 Use SaveFileController for stylesheets too 2015-09-10 14:19:56 +02:00
Stephan 28ecf79643 files editor xss 2015-09-10 11:20:01 +02:00
Stephan 8f78ba8b97 Revert "TEMP move stylesheet..." (pushed by mistake)
This reverts commit 7e1a11373b.
2015-09-10 11:14:23 +02:00
Stephan 94b0870a53 U4-6992 - fix db migrations (for real) 2015-09-10 10:47:30 +02:00
Stephan b9ff056b61 Revert "U4-6992 - fix db migrations"
This reverts commit 406d172169.
2015-09-10 10:19:28 +02:00
Stephan 7e1a11373b TEMP move stylesheet editing to filesystem 2015-09-10 10:12:25 +02:00
Stephan 200625aa3a SaveFileController can also save stylesheets (not used at the moment) 2015-09-10 10:04:55 +02:00
Shannon f1e52c5ad8 fixes failing test 2015-09-10 00:18:58 +02:00
Shannon 1217e64532 Adds another migration to fix corrupted data very old dbs 2015-09-10 00:16:35 +02:00
Shannon c454d022dc changes code migration to use the db paramet in the lambda 2015-09-09 23:30:14 +02:00
Shannon c4b8dcd88b Fixes: U4-7079 Upgrade issue from an older version 2015-09-09 23:20:46 +02:00
Shannon 3a62fb5900 fixes script editor xss 2015-09-09 22:00:29 +02:00
Shannon d127856726 fixes script editor xss 2015-09-09 21:52:52 +02:00
Shannon 02e9866398 Fixes regression issue with xss 2015-09-09 21:41:06 +02:00
Robert Foster 803ca677c1 Merge remote-tracking branch 'umbraco/dev-v7' into dev-v7 2015-09-10 02:07:34 +10:00
Stephan ed8c9daa8a Merge pull request #787 from vnbaaij/patch-2
Remove duplicated code in UmbracoApplicationBase
2015-09-09 16:37:10 +02:00
Stephan 59ec709c69 U4-7048 - more filesystems cleanup 2015-09-09 16:32:45 +02:00
Vincent Baaij 68fa22ba9b Update UmbracoApplicationBase.cs
There were two (almost identical) unhandled exception handlers in the code. Think it was caused  by merge conflict
2015-09-09 15:56:00 +02:00
Vincent Baaij e25886180a Merge remote-tracking branch 'upstream/dev-v7' into dev-v7 2015-09-09 13:57:35 +02:00
Stephan e8b2f3cd0b U4-7078 - empty recycle bin with content with public access rules 2015-09-09 13:02:21 +02:00
Shannon 74eb69534d Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-09-09 10:20:26 +02:00
Shannon 710bc7ed7c fixes minor potential xss issue with stylesheets editor 2015-09-09 10:19:57 +02:00
Mads Rasmussen 255cbdbef2 Member: change button to umb-button 2015-09-09 10:07:39 +02:00
Mads Rasmussen 4ee97edf27 Content: change buttons to umb-button and umb-button-group 2015-09-09 10:05:38 +02:00
Mads Rasmussen 0a6398ec60 Data type: change button to umb-button 2015-09-09 10:03:54 +02:00
Mads Rasmussen f2b3ae01a9 Document type: change button to umb-button 2015-09-09 09:58:15 +02:00
Mads Rasmussen dfa5b3344c Media: change button to umb-button 2015-09-09 09:57:19 +02:00
Mads Rasmussen 348263bc72 Media type: change button to umb-button 2015-09-09 09:53:19 +02:00
Mads Rasmussen ce5af1077f Member type: change button to umb-button 2015-09-09 09:42:42 +02:00
Mads Rasmussen f5d0b6756e update umb-button-group directive to work as button group in content section 2015-09-09 09:41:10 +02:00
Mads Rasmussen 84256d67d9 check for key combo 2015-09-09 09:39:15 +02:00
Mads Rasmussen 6b895f5449 add directive for umb-buttons 2015-09-09 09:37:50 +02:00
Shannon Deminick be17a6e186 Merge pull request #756 from haileqsr/fixes
U4-6955: Issue with stripping modifiers with no trailing characters
2015-09-08 19:03:16 +02:00
Stephan b7eb6303ec U4-7076 - fix xml cache corruption when publishing with children 2015-09-08 18:38:52 +02:00
Shannon 4d012ee1e1 Ensures that any stale old temp upload files are removed any time media is uploaded. 2015-09-08 18:33:43 +02:00
Stephan e3a73465f7 U4-7048 - fix tests 2015-09-08 18:10:46 +02:00
Stephan 6b5057b870 U4-7048 - more filesystems cleanup 2015-09-08 17:48:26 +02:00
Stephan e577648efd U4-7048 - refresh IFile instances from disk 2015-09-08 11:34:34 +02:00
Mads Rasmussen 3d990228e0 property settings dialog: match validation pattern with dropdown when editing 2015-09-08 09:31:32 +02:00
Mads Rasmussen 0b71136a1e umb-locked-field: lock field on blur 2015-09-08 09:29:05 +02:00
Mads Rasmussen 51a4b24200 add drop shadow to confirm delete 2015-09-08 09:21:45 +02:00
Shannon b3664d2391 Fixes: U4-7059 SQL problem upgrading from 7.2.8 to 7.3.0 RC 2015-09-07 23:45:55 +02:00
Shannon 3dc4059036 fixes: U4-6941 Can't edit masterpages templates in 7.3.0 beta3 2015-09-07 20:28:56 +02:00
Shannon 6d6b2f72b6 fixes open redirect issue for schema less Urls 2015-09-07 20:15:10 +02:00
Stephan a542cf56d4 U4-7063 - Umbraco.TypedContent(ints) should not return nulls 2015-09-04 10:43:42 +02:00
Shannon 1fdb813d1d Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-09-03 16:49:14 +02:00
Shannon 6c3b63cf55 fixes issue with legacy dialogs not closing the nav 2015-09-03 16:32:25 +02:00
Stephan 6b195587c1 U4-7042 - fix root path for tests 2015-09-03 16:24:43 +02:00
Stephan d323b3c5c9 U4-7042 - use IFileService when editing scripts 2015-09-03 15:12:37 +02:00
Stephan b03d7884bb U4-7042 - bugfix the physical filesystem 2015-09-03 15:11:49 +02:00
Mads Rasmussen e8c7918afa Property settings dialog: clear validation pattern when nothing is selected 2015-09-03 14:08:29 +02:00
Mads Rasmussen 8825ea9300 Umb confirm delete: move on-outside-click directive to inner div to remove click events when confirm dialog is not open. 2015-09-03 13:32:21 +02:00
Mads Rasmussen 358bb048ea Keyboard shortcuts overview - remove stroke and padding to center align 2015-09-03 13:27:37 +02:00
Mads Rasmussen 3f6a581857 Tags: length check to prevent .js error in content type editor 2015-09-03 12:34:40 +02:00
Mads Rasmussen 1d7dca3d9d file-uploader: add undefined check to prevent .js error in content type editor 2015-09-03 12:30:04 +02:00
Mads Rasmussen a324d99e50 fix up animations on tabs and properties to prevent "element jumping" 2015-09-03 12:26:45 +02:00
Mads Rasmussen 3f97896eac add fade animation to views 2015-09-03 12:19:04 +02:00
Mads Rasmussen 077badd8d7 add load indicators to the rest of the sections 2015-09-03 12:18:17 +02:00
Mads Rasmussen 0701869769 umb-auto-reisze: ie doesn't support scrollWidth in inputs, so set a fallback for IE inputs so they work with auto resize + some refactoring 2015-09-03 11:56:14 +02:00
Stephan 37e6e61eff Manual-merge pull request #750 dealing with U4-7060 2015-09-02 16:42:43 +02:00
Stephan 42e5b4e867 U4-7055 - encodeURIComponent queries in Examine dashboard 2015-09-02 15:19:37 +02:00
Stephan fc8c92e922 U4-7056 - sync BatchedDatabaseServerMessenger on all requests 2015-09-02 14:44:02 +02:00
Mads Rasmussen 36569578a0 Add new editor to media recycle bin 2015-09-01 16:22:52 +02:00
Mads Rasmussen 35eafbd26c add new editor to edit data type 2015-09-01 16:21:36 +02:00
Mads Rasmussen 0ed6b0bdd3 add new editor to content recycle bin 2015-09-01 16:20:43 +02:00
Mads Rasmussen 65623ea5d0 add new editor to dashboards 2015-09-01 16:20:04 +02:00
Mads Rasmussen 7102cdd78c header: use top position when there is no icon 2015-09-01 16:16:28 +02:00
Mads Rasmussen f4d13ea73c just a little nudge to align 2015-09-01 16:15:25 +02:00
Stephan 5d7cbd3477 U4-7038 - fix bugs + tests 2015-09-01 16:11:26 +02:00
Stephan 42b689867e U4-6992,U4-7046 - more fixes & tests 2015-09-01 15:46:58 +02:00
Sebastiaan Janssen d4fb28607d U4-7053 Update ImageProcessor dependency for core
#U4-7053 Fixed
2015-09-01 15:35:42 +02:00
Stephan dfbdf99bbc U4-7038 - IPublishedContentWithKey for medias 2015-09-01 15:00:31 +02:00
Stephan 7848ea5ec0 U4-7038 - IPublishedContentWithKey for contents, members 2015-09-01 15:00:27 +02:00
Claus 62afc06f56 Fixes: COU-162 Revision Name is Lowercase After Transfer
Removed lowercasing of urls routed through legacy iframe injection controller.
Regex for javascript handlers changed to ignore casing.
2015-09-01 14:30:30 +02:00
Mads Rasmussen 8c8f10ea20 set up new editor on member section - edit 2015-09-01 14:10:45 +02:00
Mads Rasmussen b932270854 move new editor to member section - list 2015-09-01 13:50:02 +02:00
Mads Rasmussen 7ed6eb35f9 move new editor to media section edit 2015-09-01 13:43:26 +02:00
Mads Rasmussen 9f5d5af713 move logic from umb-options-menu to umb-editor-menu 2015-09-01 13:36:43 +02:00
Mads Rasmussen 0ed0ca05d5 change content section to use new editor 2015-09-01 13:34:53 +02:00
Mads Rasmussen 08839f5694 use footer left/right side directives on document type + remove unused classes 2015-09-01 13:30:50 +02:00
Mads Rasmussen 8dff529fea align search and avatar with top of header name field 2015-09-01 13:26:33 +02:00
Stephan dbe2257b47 U4-7046 - fix DatabaseServerRegistrar issues 2015-09-01 13:16:58 +02:00
Shannon Deminick 2029bef6eb Merge pull request #771 from Jeavon/GetCropUrlFixes
Fix for U4-6995 Image Cropper does not use predefined crop ratio when only width or height is supplied
2015-09-01 11:29:45 +02:00
Shannon Deminick ffddb8faa0 Merge pull request #772 from danbramall/dev-v7
Rounds grid widths to 8 decimal places (like Bootstrap)
2015-09-01 11:13:13 +02:00
Shannon Deminick 456c89a5d5 Merge pull request #784 from umbraco/U4-6193
Fixes: U4-6193 Inserting an image into grid layout ignores alternativ…
2015-09-01 11:12:06 +02:00
Mads Rasmussen 343c6fce98 add footer left and right directives to member type 2015-09-01 10:43:19 +02:00
Mads Rasmussen f576e8ce43 add footer left and right directives to media type 2015-09-01 10:41:54 +02:00
Mads Rasmussen 002536b1dc Rename class because it already exists 2015-09-01 10:38:48 +02:00
Mads Rasmussen 604814840e remove unused actions from header 2015-09-01 10:29:44 +02:00
Mads Rasmussen 72b3a430e3 Add possibility to lock header name 2015-09-01 10:28:37 +02:00
Claus 37986f0ed5 Fixes: U4-6193 Inserting an image into grid layout ignores alternative text
AltText is used for alt tag instead of caption text which is used below the media.
Ensured the altText set in the dialog is saved to the value object.
2015-09-01 10:28:35 +02:00
Mads Rasmussen b5484a2071 Allow setting tab directive as view. Do not add stroke + extra padding 2015-09-01 10:26:10 +02:00
Mads Rasmussen 76e95968e7 add extra padding to editor footer sides to align with content 2015-09-01 10:23:23 +02:00
Mads Rasmussen 4889b7d930 center align search form 2015-09-01 10:22:40 +02:00
Mads Rasmussen 74780bf4f5 center align avatar 2015-09-01 10:22:08 +02:00
Mads Rasmussen f9577cbe2a add directives to left and right side content in editor footer 2015-09-01 10:21:00 +02:00
Mads Rasmussen 9f7c577192 add directive for breadcrumbs 2015-09-01 10:18:23 +02:00
Shannon b883c7cb11 Fixes: U4-6947 Don't ship unnecessary js files 2015-08-31 18:51:36 +02:00
Shannon 23a7e515f8 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-31 18:04:23 +02:00
Shannon 05e17e1c7f Fixes: U4-6973 Given custom permissions user can create, but cannot save 2015-08-31 18:04:13 +02:00
Stephan 829942dcf9 Bugfix MediaService 2015-08-31 13:17:50 +02:00
Shannon 9ce1ea66dc Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-28 15:26:22 +02:00
Shannon d6d611d381 updates the data type view to be consistent with the rest 2015-08-28 15:25:35 +02:00
Shannon Deminick 7020e948b8 Merge pull request #780 from umbraco/COU-191
Fixes: COU-191 Creating a revision gives a reference not set error (7.3)
2015-08-28 13:35:07 +02:00
Stephan b96511d9d4 U4-6992 - fix tests 2015-08-28 13:28:03 +02:00
Stephan ed5ca49755 U4-6992 - update interfaces 2015-08-28 13:28:00 +02:00
Mads Rasmussen 44f5eb46c9 add width indent to overlays + keep all overlays open in groups builder 2015-08-28 13:21:32 +02:00
Mads Rasmussen 8237282a6d add loader to icon picker 2015-08-28 13:15:28 +02:00
Mads Rasmussen 17830bce38 add loader to member type 2015-08-28 13:14:11 +02:00
Mads Rasmussen b38d7340f4 add loader to media type 2015-08-28 13:13:18 +02:00
Mads Rasmussen f042db66f4 add loader to document type 2015-08-28 13:12:37 +02:00
Mads Rasmussen 6f51660406 add new loader directive 2015-08-28 13:09:35 +02:00
Mads Rasmussen 58c0127b6e refactor umb editor toolbar directive to follow angular style guide 2015-08-28 13:05:01 +02:00
Mads Rasmussen 8219429cc1 refactor umb editor view directive to follow angular style guide 2015-08-28 13:04:18 +02:00
Mads Rasmussen 4cce3c6f1b refactor umb editor sub views directive to follow angular style guide 2015-08-28 13:02:53 +02:00
Mads Rasmussen ef0478359a refactor umb editor header directive to follow angular style guide 2015-08-28 13:01:31 +02:00
Claus c1352e2ad6 Fixes: COU-191 Creating a revision gives a reference not set error (7.3)
If the typeInstance could not be cast to LegacyDialogTask, trying to set additionalValues caused a null exception.
Inserted a null check and then cast to ITaskReturnUrl instead to get the returnUrl.
2015-08-28 13:01:23 +02:00
Mads Rasmussen 3e4c5114a8 refactor umb editor navigation directive to follow angular style guide 2015-08-28 13:00:29 +02:00
Mads Rasmussen 906524529d refactor umb editor menu directive to follow angular style guide 2015-08-28 12:59:55 +02:00
Mads Rasmussen 9ad8883712 refactor umb editor footer directive to follow angular style guide 2015-08-28 12:58:50 +02:00
Mads Rasmussen 97f7b52881 delete unused editor actions directive 2015-08-28 12:57:37 +02:00
Mads Rasmussen 1b7f204bb3 refactor umb editor container directive to follow angular style guide 2015-08-28 12:57:00 +02:00
Mads Rasmussen 3b2b004e59 refactor umbbuttongroup directive to follow angular style guide 2015-08-28 12:56:03 +02:00
Mads Rasmussen 51a4b53af2 inject formHelper to directive to fix js error after refactor 2015-08-28 12:46:36 +02:00
Shannon 1a6988c2ea Fixes double event firing 2015-08-27 20:10:19 +02:00
Shannon 0cca63e646 Fixes up some unit tests 2015-08-27 19:19:05 +02:00
Shannon 05aa2aeb75 refactors new IDomainService to return attempt+status and raise events using event messages. 2015-08-27 18:43:54 +02:00
Shannon e3cc107bfa Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-27 18:33:48 +02:00
Shannon 4a59c27793 Refactors new IPublicAccessService to return Attempt+Result so we know what happened, also ensures events are firing with msgs (events were not firing at all before). 2015-08-27 18:33:38 +02:00
Mads Rasmussen 36fe9978aa delete unused sub views directive 2015-08-27 15:23:53 +02:00
Shannon Deminick abde63ebee Merge pull request #768 from abryukhov/patch-3
ru.xml - newest 'member' and 'help' sections
2015-08-27 15:17:44 +02:00
Shannon Deminick 346fb471da Merge pull request #773 from bjarnef/dev-v7-additional-translations
Additional translations for members
2015-08-27 15:14:54 +02:00
Mads Rasmussen 713d33a6c5 refactor overlay directive to follow angular style guide 2015-08-27 15:02:13 +02:00
Mads Rasmussen 77247d09bc fix js error in umbblockedfield 2015-08-27 14:57:42 +02:00
Shannon d4c5a1ee1c Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-27 14:56:51 +02:00
Shannon e3598b99a5 Ensures tempdata is set on our member controllers in the correct place and ensures that the RegisterModel doesn't explicitly set the RedirectUrl because we want it to be empty by default. 2015-08-27 14:56:42 +02:00
Mads Rasmussen 7ab11966b1 fix js error in umbblockedfield 2015-08-27 14:42:46 +02:00
Mads Rasmussen e330c63034 header: add wrapper to limit input width. Rename some styles 2015-08-27 14:25:01 +02:00
Mads Rasmussen 42ae182c2b refactor umblockedfield directive to follow angular style guide 2015-08-27 13:27:06 +02:00
Stephan ab32732f26 U4-6992 - cannot change app url provider once resolution is frozen 2015-08-27 13:18:18 +02:00
Stephan 3949cfa736 U4-6932 - cleanup 2015-08-27 13:11:16 +02:00
Stephan 406d172169 U4-6992 - fix db migrations 2015-08-27 13:08:50 +02:00
Mads Rasmussen 69c479c576 Rename directive function 2015-08-27 12:30:10 +02:00
Mads Rasmussen 87236cbfbd Rename directive function 2015-08-27 12:28:40 +02:00
Mads Rasmussen c74f67606d fix tab indent 2015-08-27 12:23:56 +02:00
Mads Rasmussen 9104b99b30 Refactor property controller to follow angular style guide 2015-08-27 11:50:05 +02:00
Mads Rasmussen 2fc6ab611a add IIFE to property settings dialog controller 2015-08-27 11:23:02 +02:00
Mads Rasmussen ee1055339c refactor property settings dialog to use controller as syntax 2015-08-27 11:12:12 +02:00
Mads Rasmussen 0bedc11b36 clean white space in property settings dialog 2015-08-27 10:42:30 +02:00
Mads Rasmussen 6e5dda5d4f delete unused data type controller + clean white space 2015-08-27 10:41:35 +02:00
Mads Rasmussen 220acc6200 delete unused composition controller + clean white space 2015-08-27 10:40:05 +02:00
Mads Rasmussen 13dc10057f Fixes: U4-6979 Property type picker icons does not align 2015-08-27 10:11:10 +02:00
Mads Rasmussen aa3089ef5f add content type scope value to list view directive - is used to set the right list view name 2015-08-27 10:00:53 +02:00
Mads Rasmussen d1e399e4ed add content type scope value to group builder - is used to getting the right content type when using composition 2015-08-27 09:56:50 +02:00
Stephan b550b9f9d1 U4-6932 - bugfix bulk processing in list view 2015-08-26 18:30:05 +02:00
Shannon Deminick 211268f210 Merge pull request #779 from SiroccoHub/dev-v7
Update Japanese resource XML for UI
2015-08-26 15:09:39 +02:00
arichika taniguchi 348a3e6692 Merge remote-tracking branch 'umbraco/dev-v7' into dev-v7 2015-08-26 21:54:43 +09:00
arichika taniguchi c3c63ce0e3 Update Japanese resource XML for UI
Update Japanese resource XML for UI
2015-08-26 21:33:35 +09:00
Mads Rasmussen a7133ca41e load in media type controller for permissions view 2015-08-26 14:17:06 +02:00
Mads Rasmussen dfde340a26 load in media type view for media types - not document type views 2015-08-26 14:16:13 +02:00
Mads Rasmussen 3c817ca3e3 add getAll method to media type resources 2015-08-26 14:15:11 +02:00
Stephan 20d8656237 U4-6992 - fix server registration for new LB 2015-08-26 14:00:56 +02:00
Stephan e114cbeeaf Persistence - add support for locking repositories 2015-08-26 14:00:53 +02:00
Stephan a6a6edb9f2 PetaPoco - add support for transaction level 2015-08-26 14:00:50 +02:00
Per Ploug 23a5ac439b Removes the old type trees and sets the right order on the new 2015-08-26 12:18:42 +02:00
Per Ploug 94b09a4568 Fixes issues with the merged contenttype mapper
Mediatype, membertype and contenttype all use the same core mapper, with
small variations between each type - it is however important in what
order the mappers are added.
2015-08-26 12:07:43 +02:00
Shannon Deminick 5cfb4f5122 Merge pull request #777 from umbraco/U4-6997
Fixes: U4-6997 Updating Public Access settings on a node should trigg…
2015-08-25 13:31:39 +02:00
Mads Rasmussen ca88d9cbc2 Property settings: When selecting custom validation pattern - focus on input 2015-08-25 12:58:26 +02:00
Mads Rasmussen 8579cdcf45 umb-locked-field: make lock + color darker when field is unlocked 2015-08-25 12:57:16 +02:00
Stephan eec11c8e5f U4-6990 - fix task scheduler 2015-08-25 11:59:56 +02:00
Claus 438dedd1ab Fixes: U4-6997 Updating Public Access settings on a node should trigger a re-render of the tree.
For some reason the ReloadActionNode does not work in this case. Updated to using SyncTree which works.
2015-08-25 11:26:43 +02:00
Mads Rasmussen fea038ccd4 property settings: property validation null check + remove textarea when no validation type is chosen. 2015-08-25 10:56:05 +02:00
Mads Rasmussen 0ea15d630c umb-locked-field: auto focus field when unlocked 2015-08-25 10:54:03 +02:00
Mads Rasmussen 126c6f8be6 always focus name in data type settings dialog 2015-08-25 10:23:01 +02:00
Mads Rasmussen 7524abc68e always focus header name field 2015-08-25 10:19:59 +02:00
Mads Rasmussen b3653e840f Switch back to ng-if on elements in header, and accept $parent, to prevent unwanted watchers to make sure focus directive works as it should. This should be possible to change from angular v 1.3. 2015-08-25 10:15:38 +02:00
Mads Rasmussen d1964cee45 always focus name field on property settings dialog 2015-08-25 10:11:01 +02:00
Mads Rasmussen b6e87ae0d7 umb-auto-focus: add attribute to allow focus on filled inputs 2015-08-25 10:09:52 +02:00
Stephan a950acbaba U4-7002 - ToAppRelative is too greedy 2015-08-24 17:28:04 +02:00
Claus f44875d072 Prevent internal member groups from showing up in group list on member properties.
Prevent internal member groups from showing up in the member group tree listing.
2015-08-24 16:14:29 +02:00
Mads Rasmussen 374c718d49 Validation pattern match - check for empty and undefined 2015-08-24 15:58:04 +02:00
Mads Rasmussen ce22988850 start to move content type editor to media types 2015-08-24 15:32:03 +02:00
Mads Rasmussen 9748153570 Remove unused style 2015-08-24 14:47:05 +02:00
Mads Rasmussen 8945cd28ea fix safari margin issue on icon 2015-08-24 14:19:35 +02:00
Mads Rasmussen f93fc55506 fix visual bug in safari where alias text is invisible 2015-08-24 13:37:19 +02:00
Mads Rasmussen 518bdd3da3 remove unused animations 2015-08-24 13:34:37 +02:00
Mads Rasmussen 3eed1d6df8 add postcss autoprefixer to watch task 2015-08-24 13:29:07 +02:00
Mads Rasmussen c0b06a4cec Added grunt-postcss to auto-prefix the css files + minify all css files. 2015-08-24 12:22:51 +02:00
bjarnef d7360e7a41 Additional translations for members
Addtional translations for members, help dialog and a few updated in
da.xml
2015-08-23 16:49:53 +02:00
Sebastiaan Janssen add2f57397 Bump version 2015-08-21 13:30:29 +02:00
Shannon cd3c17d73f Obsoletes AllowAll on MemberAuthorizeAttribute 2015-08-21 12:15:45 +02:00
Shannon fe6d783222 auths member controllers 2015-08-21 12:11:22 +02:00
Shannon fc8b0f1822 Fixes: U4-6934 v7.3.0-beta3 ListView sorting by updateDate throws exception 2015-08-21 12:02:51 +02:00
Dan Bramall bd56117c80 Rounds grid widths to 8 decimal places (like Bootstrap) to fix U4-6569 and U4-6357. 2015-08-20 22:08:31 +01:00
Shannon 6102c970c8 ensures single tab displays show tab 2015-08-20 19:10:03 +02:00
Shannon 29903058a9 Fixes: U4-6937 Update all web.configs in all subfolders to use MVC4 / Razor 3, U4-6938 While upgrading, delete dlls that shouldn't be there after upgrade 2015-08-20 18:41:39 +02:00
Shannon b3940dea1b Fixes: U4-6982 TAG Group not working as it's expected, when there's more than 2 sets of tag group 2015-08-20 16:52:07 +02:00
Shannon 3dac630d05 Fixes: U4-6998 User language drop down is incorrect when default language is used 2015-08-20 16:07:46 +02:00
Shannon 10108d75b8 Fixes: U4-6953 DatePicker (with time?) seems to be misbehaving since 7.2.8 in Firefox 2015-08-20 15:22:10 +02:00
Shannon 24cb64579b make sure the time is not there for a non time picker when the pre-value is empty. 2015-08-20 12:48:33 +02:00
Shannon 86239cc777 fixes date time picker if the format is cleared from pre-values, it will revert to default. 2015-08-20 12:45:42 +02:00
Shannon 685aea1728 Fixes: U4-6879 Validation issues when creating new content and cancelling save event. 2015-08-20 11:50:32 +02:00
Jeavon Leopold 8ea99b9463 Adjust so that first crop isn't used for ratio when only a width or height parameter is passed into GetCropUrl 2015-08-20 10:22:15 +01:00
Jeavon Leopold bc20a48570 Tiny Stylecop bracket adjustment 2015-08-20 09:34:48 +01:00
Jeavon Leopold a17865683c Variable renaming 2015-08-20 09:33:12 +01:00
Jeavon Leopold 6f76ee384c Added some extra GetCropUrl tests as you can never have too many 2015-08-20 09:31:20 +01:00
Shannon eb4e041682 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-20 10:25:53 +02:00
Shannon 477aa754b3 uses non deprected methods 2015-08-20 10:14:07 +02:00
Shannon Deminick 48bff0aa6c Merge pull request #770 from bjarnef/dev-v7-missing-danish-translations
Add missing Danish translations
2015-08-20 10:12:26 +02:00
Bjarne Fyrstenborg 4ea9fec9e2 Add missing Danish translations
Added missing keys in da.xml and removed some duplicate keys.
2015-08-20 09:56:16 +02:00
Mads Rasmussen 8d70265f02 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-08-20 09:22:13 +02:00
Alexander Bryukhov 5167ba7aee ru.xml - newest 'member' and 'help' sections 2015-08-20 09:04:52 +06:00
Per Ploug Krogslund 77a8d2e99b Method rename 2015-08-19 22:45:39 +02:00
Per Ploug Krogslund f2b78e7bfa csproj file update 2015-08-19 22:38:15 +02:00
Per Ploug Krogslund 0f4596c897 Cleanup the mappers and the display classes 2015-08-19 22:38:08 +02:00
Per Ploug Krogslund a7065d083e ContentType + MediaType trees 2015-08-19 22:37:41 +02:00
Sebastiaan Janssen f3a965841b U4-6043 Error parsing package.manifest value Path line 0 position 0
Added a unit test and updated the logic as it was doing the wrong thing
#U4-6043 Fixed
2015-08-19 19:11:20 +02:00
Sebastiaan Janssen 08ddb5f4c4 Update NuGet dependency for Examine 2015-08-19 18:47:27 +02:00
Sebastiaan Janssen 4ec63ffd0d U4-6939 'html code' button is missing in the Rich Text Editor]
#U4-6939 Fixed
2015-08-19 18:40:04 +02:00
Sebastiaan Janssen 4cb3e82972 U4-6926 HTML tag in nodeName renders as HTML in tree
#U4-6926 Fixed
2015-08-19 18:33:11 +02:00
Shannon 0a20741f39 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-19 18:22:26 +02:00
Shannon 4575748f16 adds TODO and formatting 2015-08-19 18:22:06 +02:00
Sebastiaan Janssen 028ee831b8 U4-6043 Error parsing package.manifest value Path line 0 position 0
#U4-6043 Fixed
2015-08-19 18:11:18 +02:00
Jeavon Leopold 3595dd3339 Adding checks for predefined crops that are still set to default and where a specific resize parameter has been passed into GetCropUrl so that output crop is in same ratio as the predefined crop 2015-08-19 16:54:03 +01:00
Mads Rasmussen f176a8f52d Remove navigation item outline on click in some browsers 2015-08-19 16:08:55 +02:00
Mads Rasmussen 80b52614fe clean up groups-builder directive 2015-08-19 16:08:14 +02:00
Mads Rasmussen e8c3c0b1ed change to eventbind array when unbinding 2015-08-19 16:07:45 +02:00
Sebastiaan Janssen 54981cd57c Merge pull request #764 from Aaen/U4-6977
U4-6977: Updated the Our screenshot to show off the new design
2015-08-19 16:02:10 +02:00
Shannon Deminick 0aab8cacaa Merge pull request #767 from leekelleher/U4-6986
U4-6986 PublishedContentExtensions.FirstChild() throws exception
2015-08-19 15:41:15 +02:00
leekelleher 15b4d33e00 U4-6986 PublishedContentExtensions.FirstChild() throws exception
Changes the return value to use `.FirstOrDefault()` instead of `.First()`.
Includes unit-test.
2015-08-19 13:57:58 +01:00
Mads Rasmussen 782dd6aad7 Add detail overlay to editor picker. This way users can see the full title of editors and the picker is ready to have descriptions of each editor. 2015-08-19 13:49:12 +02:00
Mads Rasmussen 72c3dd4ef9 Add description area for help texts and descriptions in the overlay 2015-08-19 13:29:03 +02:00
Mads Rasmussen 45432431c9 Hide header navigation if there is only 1 item 2015-08-19 13:26:06 +02:00
Mads Rasmussen 73db2a2727 more simple names for toggling compositions and sorting on groups-builder directive 2015-08-19 13:23:41 +02:00
Shannon Deminick 367ba5cddf Merge pull request #766 from bjarnef/dev-v7-minor-translations
Localize text in help dialog
2015-08-19 10:40:37 +02:00
Dennis Aaen ff64efbcdf Fix: Corrected the height of the image of the new ourumbraco 2015-08-19 10:00:39 +02:00
bjarnef 5bc0c499d8 Localize text in help dialog
Add localization for text in help dialog, create and delete dialogs and
some minor parts of the member area.
2015-08-19 02:03:54 +02:00
Per Ploug Krogslund 5778a45c95 default content type icon 2015-08-18 22:31:54 +02:00
Per Ploug Krogslund f4e1349a00 Filter out list views from the property type list 2015-08-18 22:31:54 +02:00
Mads Rasmussen af82ac0c47 update member types editor 2015-08-18 15:21:52 +02:00
Mads Rasmussen 6b52edaf36 Validate form before submit - still need to show messages 2015-08-18 15:19:18 +02:00
Dennis Aaen f667318b58 U4-6977: Updated the Our screenshot to show off the new design 2015-08-18 15:14:51 +02:00
Mads Rasmussen fd1ccdea65 delete unnecessary list view controller 2015-08-18 15:11:04 +02:00
Mads Rasmussen b0dbc05e2e delete unnecessary design controller 2015-08-18 15:10:30 +02:00
Mads Rasmussen 16b3a5ffd7 We need to use ng-if on alias and accept $parent in model. As far as I can read from Angular 1.3 ng-if will not make isolated scope, and we can remove $parent. 2015-08-18 12:22:52 +02:00
Mads Rasmussen 5213f9bfba Only change back to init state if editor is empty. Label wasn't the best solution because it is possible to change from outside the dialog 2015-08-18 12:05:30 +02:00
Mads Rasmussen a6a65746a1 use ng-show instead of ng-if. ng-if breaks val-form-manager 2015-08-18 12:03:32 +02:00
Mads Rasmussen 6f99d32085 Do not check for undefined on alias 2015-08-18 12:01:27 +02:00
Shannon 87c9d15ad5 removes autocomplete="off" from login 2015-08-18 10:44:45 +02:00
Mads Rasmussen 1d97292bef Remove hard coded icon- class prefix to allow usage of any icon 2015-08-18 10:08:47 +02:00
Mads Rasmussen a09effd9e3 Remove hard coded icon- class prefix to allow usage of any icon 2015-08-18 09:28:09 +02:00
Vincent Baaij d5a41d41e9 Merge remote-tracking branch 'upstream/dev-v7' into dev-v7 2015-08-18 09:14:11 +02:00
Mads Rasmussen bf347c927e Custom list view name based on alias instead of name - still need to fix server 2015-08-17 20:19:04 +02:00
Mads Rasmussen e89d053914 unbind list view watcher 2015-08-17 20:15:51 +02:00
Mads Rasmussen 22632e5230 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-08-14 11:30:40 +02:00
Mads Rasmussen d61ab5ff1a Reorder flow when adding a property to a group so you enter settings after choosing one + rearrange editor picker dialog with tabs. 2015-08-14 11:22:01 +02:00
Mads Rasmussen 4fa08f28f9 add extra class to old header tabs to compensate for new styles 2015-08-14 10:35:27 +02:00
Mads Rasmussen 1891bea3e5 Add support for tabs to umb-editor-header 2015-08-14 10:34:15 +02:00
Mads Rasmussen ea766af41f Make directive for tabs 2015-08-14 10:31:53 +02:00
Shannon 127736d188 updates to latest examine 2015-08-13 15:30:28 +02:00
Shannon 139ab8d4df Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-13 15:19:26 +02:00
Shannon 4abb8035b8 Changes the shutdown time for the logger to be 1 second 2015-08-13 15:19:16 +02:00
Shannon 0ca1807d64 Adds DelegateExtensions + Tests which is used for retrying and is used with the Examine Index Sync 2015-08-13 15:19:04 +02:00
Shannon Deminick 5ae90d201c Merge pull request #762 from Jeavon/RefreshByJson
Publicise methods and subclasses in MediaCacheRefresher
2015-08-13 14:59:23 +02:00
Jeavon Leopold 6c416009d7 Make DeserializeFromJsonPayload in MediaCacheRefresher and associated sub classes public so that it's possible to easily retrieve the data in custom code 2015-08-13 13:52:21 +01:00
Sebastiaan Janssen 50da9bcb50 Should help with U4-4049 Some images fail when uploading multiple media files 2015-08-13 12:26:00 +02:00
Shannon 930b61a7ff Merge branch 'dev-v7' into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Web.UI.Client/src/less/belle.less
2015-08-13 11:09:04 +02:00
Shannon 9e6a2d8a7c Fixing: U4-6942 During upgrade MUST make sure that the new Property Type GUIDs are consistent ... just needs some testing now; 2015-08-11 15:56:48 +02:00
Per Ploug Krogslund e1fd1ab5e5 include property type editor 2015-08-11 13:22:33 +02:00
Shannon cfb84cae44 removes license txt that doesn't make any sense. 2015-08-11 12:23:15 +02:00
Shannon 4239833713 updates NotificationService 2015-08-11 12:12:34 +02:00
Per Ploug Krogslund 0c125736a1 client side change for getting grouped editors 2015-08-11 11:52:30 +02:00
Per Ploug Krogslund fc565fbae2 Simplified the merging of property editors VS types 2015-08-11 11:52:30 +02:00
Per Ploug Krogslund 1ff7b34b86 revalue flag on basic datatype 2015-08-11 11:52:29 +02:00
Shannon 4fa1a3948e updates how versions are sorted before being sent. 2015-08-11 11:52:06 +02:00
Shannon Deminick 1b78e854f0 Merge pull request #759 from umbraco/U4-5180
Fix: U4-5180 Notifications email highlighting is incorrect. Ensured t…
2015-08-11 11:50:57 +02:00
Shannon Deminick c62a2362d2 Merge pull request #761 from umbraco/U4-6808
U4-6808 Bug in umbRequestHelper service causing exceptions to end up …
2015-08-11 11:48:01 +02:00
Shannon Deminick eb1855fcb7 Merge pull request #760 from umbraco/U4-6798
U4-6798 Rollback Dialog Displays Incorrect Author.
2015-08-11 11:44:10 +02:00
Mads Rasmussen d7f9cb0278 show content type, when data is ready. 2015-08-11 11:04:41 +02:00
Mads Rasmussen 69a9461c3e Clean up header + used directives - remove $parent, set more focus on name field, place alias inside name field to show relation. 2015-08-11 11:03:55 +02:00
Mads Rasmussen ce127ad215 Remove unnecessary headline in data type settings dialog 2015-08-11 11:01:07 +02:00
Mads Rasmussen c32165a838 remove validation from locked field directive - need to place it somewhere else 2015-08-11 10:57:53 +02:00
Mads Rasmussen a9b7d43502 Umb auto resize: Only resize length of text inputs and height of textareas. Set inputs with no data the width of the placeholder. 2015-08-11 10:53:17 +02:00
Mads Rasmussen 91b405795e Add more descriptive labels to grid selector 2015-08-11 10:52:08 +02:00
Mads Rasmussen 8f248479d3 Only allow adding new tabs when there are properties in the previous 2015-08-11 10:50:30 +02:00
Mads Rasmussen 597687c2ae show text when reordering with no tabs added 2015-08-11 10:46:35 +02:00
Mads Rasmussen 69ddf5f1ba Close confirm delete on out side click 2015-08-11 10:43:55 +02:00
Shannon d4863239cd adds null check to query builder 2015-08-11 10:40:18 +02:00
Shannon 4b7ddb9c15 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-10 18:06:50 +02:00
Shannon e5bb35b335 Updates to latest Examine 2015-08-10 18:06:23 +02:00
Claus 7eabd09b3a Ignoring test causing CI to fail occasionally. 2015-08-10 15:11:08 +02:00
Shannon 087f0c0ede updates internals visible for courier. 2015-08-10 13:09:48 +02:00
Asbjørn Riis-Knudsen 0aacf6f8f4 Fix styling issues from merging 2015-08-09 22:37:36 +02:00
arknu 6de9989285 delete Change password tab from Dashboard.config 2015-08-09 21:53:34 +02:00
arknu ac4b151f11 styling fixes for user flyout password form 2015-08-09 21:52:56 +02:00
arknu 88b1d11575 initial move of change password feature to user flyout, still needs styling 2015-08-09 21:49:53 +02:00
arknu d64040f503 U4-5523: Move Change password to user flyout 2015-08-09 21:47:27 +02:00
Shannon db9d6d9109 Makes the getter for InternalSearcher lazy, fixes up the LocalTempStorageDirectory so that it properly deals with both directories the same, including lock files. Fixes up the LocalTempStorageIndexer with a ton more error checks and retry attempts to acquire locks if it cannot do so during initialization. This has proven to work seamlessly with my load tests now including the functionality for Sync. Need to test LocalOnly with the tests now too. Also, this should work if an index gets corrupted in temp storage for some odd reason (shouldn't do now btw). More testing required but this so far is showing to be much more stable especially with the new changes in Examine core. 2015-08-07 00:06:56 +02:00
Shannon 700e180522 Updates ensuring db connection so that it's not waiting arbitrarily to exit. 2015-08-07 00:02:35 +02:00
Claus 8584997f5f U4-6808 Bug in umbRequestHelper service causing exceptions to end up in backoffice. 2015-08-06 16:03:12 +02:00
Claus 4710b3b641 U4-6798 Rollback Dialog Displays Incorrect Author. 2015-08-06 14:53:56 +02:00
Claus 227e2489c1 Fix: U4-5180 Notifications email highlighting is incorrect. Ensured the versions of content used in comparison is sorted correctly so the highlighting is based on previous version and not the base version of the content. 2015-08-06 10:32:41 +02:00
Shannon 91a5b19378 Fixes: U4-6891 Can't get to the "Rebuild" button when Lucene index folder is empty as well as how the polling works. 2015-08-05 18:32:59 +02:00
Shannon 9313b8b74a Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-08-05 17:27:53 +02:00
Shannon 925757afc5 Merge branch 'dev-v7' into dev-v7-contenttypeeditor 2015-08-05 17:27:40 +02:00
Shannon 4c20441c4e Fixes: U4-6915 Txt Starter Kit install fails on 7.3.0 beta3 2015-08-05 17:17:49 +02:00
Shannon edfe1e6d54 Fixes: U4-2793 There doesn't seem to be a way to un-assign a template from a content item with the new API. Fixes issue with content type cache clearing when templates are deleted. Fixes the legacy packager to use the new template service to delete templates which does it in a much more graceful way, otherwise we need to do a try catch. 2015-08-05 16:30:21 +02:00
Mads Rasmussen 71b3982ad8 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-08-05 15:58:45 +02:00
Mads Rasmussen 68955b04c8 Preselet matching validation type in property settings 2015-08-05 15:56:58 +02:00
Mads Rasmussen 1b4b9469f3 rename save to overwrite because it confused testers that it did not create a new data type 2015-08-05 15:50:27 +02:00
Mads Rasmussen 62403313f4 clean up add init property so it only happens from function 2015-08-05 15:49:16 +02:00
Shannon 7869f77704 Fixes up deleting templates, fixes up legacy template code to ensure things are saved when they are updated 2015-08-05 15:00:28 +02:00
Shannon 270491a04d reverts media controller ... now need to figure out where to put showing notifications on drag/drop file uploads. 2015-08-05 13:45:20 +02:00
Shannon 2f1877c2cd Merge branch 'dev-v7' into dev-v7-contenttypeeditor 2015-08-05 13:39:30 +02:00
Shannon 34fd405bca Downgrades AutoMapper to the version before the assembly was signed (breaking!), we're stuck on < 3.1 because Automapper decided to sign an assembly in a minor version, nothing we can do till v8 2015-08-05 13:35:42 +02:00
Mads Rasmussen 0f37809e17 allow more than 1 digit in property number validation 2015-08-05 12:54:02 +02:00
Shannon f03ee9f908 Fixes routing tests and reverts to simplified routing logic based on the Language ISO code returned from the IDomain object. 2015-08-05 12:10:13 +02:00
Shannon b053638204 Fixes: U4-6866 getDescendants of template, N+1 issues for template repo (U4-5618 Repository level performance enhancements - remaining N+1 queries) 2015-08-05 11:50:20 +02:00
Mads Rasmussen e269331724 fix model binding to use label instead of name 2015-08-05 10:36:59 +02:00
Mads Rasmussen 675d583f27 remove unused templates dialog. It uses generic itemPicker dialog instead 2015-08-05 10:29:15 +02:00
Mads Rasmussen 04767bff7b remove unused content types dialog. It uses generic itemPicker dialog instead 2015-08-05 10:28:02 +02:00
Mads Rasmussen a4e0d2c60c Move update tabs sort order logic to it's own function 2015-08-05 10:21:35 +02:00
Mads Rasmussen 5712fbfead Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-08-04 18:40:29 +02:00
Shannon d790194682 Fixes: U4-6918 App_Plugins folder needs to be created properly on app start 2015-08-04 17:36:03 +02:00
Shannon 85534bc3ce Merge branch 'dev-v7' into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Web.UI.Client/bower.json
	src/Umbraco.Web.UI.Client/gruntFile.js
	src/Umbraco.Web.UI.Client/src/common/directives/editors/umbAutoResize.directive.js
	src/Umbraco.Web.UI.Client/src/common/directives/imaging/umbimagefolder.directive.js
	src/Umbraco.Web.UI.Client/src/common/directives/util/delayedMouseLeave.directive.js
	src/Umbraco.Web.UI.Client/src/less/application/grid.less
	src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.controller.js
	src/Umbraco.Web/Umbraco.Web.csproj
2015-08-04 17:10:58 +02:00
Shannon 3fec2b9756 uses the LanguageIsoCode returned from the domain object during routing so it doesn't need to be re-looked up. 2015-08-04 15:53:08 +02:00
Shannon bc7a31d791 Updates IDomain to include language ISO code so we can save a lookup 2015-08-04 15:42:44 +02:00
Shannon 05d84c6673 updates the operation status to return the event messages used when raising events 2015-08-04 14:52:34 +02:00
Shannon f6645e3928 Fixes: U4-6917 ContentTypeService.GetContentType( GUID) throws exception 2015-08-04 14:05:57 +02:00
Shannon 50b00b12b0 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-04 13:23:57 +02:00
Shannon 569371ffff Fixes resize panel U4-5308 Umbraco 7 Content Tree Width not resizable or scrollable 2015-08-04 13:22:22 +02:00
Mads Rasmussen 571dc3dc6c strict filtering on alias's for templates 2015-08-04 12:46:44 +02:00
Mads Rasmussen aef11f22a5 Template section. Move watch logic from controller to directive. Setup logic for doc types with and without template 2015-08-04 12:45:06 +02:00
Per Ploug Krogslund f7b72b225a Grid: auto-insert layout, row and editors if only 1 is available
When the grid loads and only one layout is available, it will be
inserted automatically.

When a row is inserted and a cell only has a single editor allowed, it
will be inserted.

These are chained so when an empty grid editor is loaded it will
preload layout + controllers if only one option is possible.

Also fixed the cog icon being visible, even without settings available

Adjusted a bit of styling for TinyMCE editors as they are invisible if
no focus + content entered.
2015-08-04 12:25:33 +02:00
Shannon d1bed54cf1 Fixes tabdrop memory leak U4-6907 Bootstrap tab drop has memory leaks, fixes tab/header to use the correct bootstrap tab api, simplifies the header code dramatically and speeds up processing. Fixes mem leak with delayedMouseLeave.directive 2015-08-04 11:59:57 +02:00
Mads Rasmussen 022de26729 Add create doc type with and without template to create dialog 2015-08-04 11:50:37 +02:00
Shannon ba868887d4 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-08-03 12:50:18 +02:00
Mads Rasmussen c1db51c62e child selector directive - unbind watchers on destroy 2015-08-03 10:08:21 +02:00
Mads Rasmussen 8e78e91543 Validate alias + editor in property settings dialog. Move locked field styles to it's own file. 2015-08-03 10:07:23 +02:00
Shannon 3a7853dcbe makes sure the bottom bar buttons are moved when resizing the left pane and that their position stays relative during tab changing. 2015-08-02 11:32:43 +02:00
Shannon 60af7deacd ensures more unbinding is happening 2015-08-02 11:32:14 +02:00
Shannon 49bc3151b0 Fixes the detectfold processing and tab changing events, creates new umbTabs directive to manage the bootstrap tab changing events so other directives can easily subscribe to the changes. updats all editors to use them. 2015-08-02 11:13:26 +02:00
Shannon d6b7bae38a reverts tabs back to use only bootstrap tabs (we can change that at a later date now that we have the code), have fixed up a lot of the detect-fold logic so that it doesn't run an insane amount of calculations, however now we need to properly fix the bootstrap tab event bindings. 2015-08-01 17:33:55 +02:00
Sebastiaan Janssen 715cc22722 Revert "Correct trees.config"
This reverts commit 88b23e09b6.
2015-08-01 15:11:47 +02:00
Sebastiaan Janssen 88b23e09b6 Correct trees.config 2015-08-01 15:05:01 +02:00
Hai Le 4697f2ecad Bug fix: Issue with stripping modifiers with no trailing characters after placeholder
When using a modifier with no trailing characters after the placeholder eg. setting a color style with #{0}.  The end selection is set to 0 resulting in the value also being stripped
2015-08-01 15:54:00 +10:00
Shannon 612484c0b6 ensures more jquery event listeners are unbound 2015-07-31 12:52:29 +02:00
Shannon 0e4974babe Creates windowResizeListener directive... so there's only a single listener for this and things can register/unregister as required from it and the callbacks will always execute in a $digest. Updates the detect-fold and navResize to use this, it is much snappier now with less overhead. 2015-07-31 12:34:02 +02:00
Sebastiaan Janssen 5fdd7d8bd6 Merge branch 'bjarnef-dev-v7-U4-6898' into dev-v7 2015-07-31 11:29:58 +02:00
Sebastiaan Janssen b5c87ccfb7 Merge branch 'dev-v7-U4-6898' of https://github.com/bjarnef/Umbraco-CMS into bjarnef-dev-v7-U4-6898 2015-07-31 11:29:51 +02:00
Sebastiaan Janssen 2efe6ae7a4 Merge pull request #754 from bjarnef/dev-v7-U4-6179
Highlight recycle bin tree node
2015-07-31 11:20:44 +02:00
Shannon 5775984730 have new tab implementation working with backwards compat with bootstrap tabs. For our own editors, we will use the new tabs, this gives us more control and should be a bit quicker, perhaps in v8 we can remove bootstrap tabs entirely. 2015-07-31 10:50:33 +02:00
Mads Rasmussen cd7597b586 Moved group builder dialogs from 1 model into their own models to be able to revert changes. Apply dialog changes on submit, revert on cancel. Refactored js based on on this change. Do not close dialogs underneath when clicking on stacked dialogs. 2015-07-31 09:35:26 +02:00
Sebastiaan Janssen cbab70fd7c Should finally fix this test that apparently relies on super strict timings 2015-07-30 19:28:33 +02:00
Shannon cfa2a30006 Changes how tabs work ... to no longer have to rely on bootstrap tabs and the hacky timing work-arounds, tabs are actually quite easy and now give us much more control.
Have made this change as backwards compatable (some things are deprecated though). Will update the other editors now.
2015-07-30 18:44:15 +02:00
bjarnef 09a3b0d155 Highlight recycle bin tree node
Ensure recycle bin tree node is highlighted when chosen.
2015-07-30 18:36:22 +02:00
Sebastiaan Janssen ca9cd77ded Fix log type 2015-07-30 18:14:29 +02:00
Sebastiaan Janssen 812601217a Merge branch 'pete2' into dev-v7 2015-07-30 18:03:09 +02:00
Pete Duncanson 3a6ec5ef0c Add a log message to stop database start up code from swallowing exception messages, now stash them in the logs to give developers a chance ;) 2015-07-30 18:01:24 +02:00
Rasmus Eeg Møller 4197a7654f U4-6902 - Changed from internal to public
Just like the ContentFinderResolver.cs
2015-07-30 17:59:18 +02:00
Sebastiaan Janssen 3133014650 Removes more references to FixedDisplayModes 2015-07-30 17:39:07 +02:00
Sebastiaan Janssen 4bce945946 Remove stray FixedDisplayModes reference 2015-07-30 17:19:43 +02:00
Sebastiaan Janssen 2d15c9c01c Use the new views config transform 2015-07-30 17:08:40 +02:00
Sebastiaan Janssen 58e648828b Fix web.config and adds a transform for NuGet 2015-07-30 17:08:40 +02:00
Sebastiaan Janssen d87b268a40 Update to MVC5 2015-07-30 17:08:39 +02:00
bjarnef 5174645059 Make tree nodes consistent
Make tree nodes have same position from the left regardless of the arrow
to expand the children.
2015-07-30 16:04:54 +02:00
Shannon e4286bc35b Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-07-30 15:13:51 +02:00
Shannon cf4d13da31 fixes backward compat issue 2015-07-30 15:13:39 +02:00
Shannon Deminick a89b064e29 Merge pull request #751 from rasmuseeg/patch-1
U4-6902 - Changed from internal to public
2015-07-30 15:04:23 +02:00
Rasmus Eeg Møller 1e41973eb5 U4-6902 - Changed from internal to public
Just like the ContentFinderResolver.cs
2015-07-30 14:54:10 +02:00
Shannon b4e496fceb Fixes backwards compat issue in 7.3 with TagQuery property on UmbracoHelper. see: http://issues.umbraco.org/issue/U4-6899 2015-07-30 14:03:17 +02:00
Shannon bb94fc7d71 Ensures notifications are shown for drag/drop uploads 2015-07-30 11:35:00 +02:00
Mads Rasmussen ae18962363 Add submit button to composition dialog 2015-07-30 11:29:39 +02:00
Mads Rasmussen 297893fb39 place form inside overlay div 2015-07-30 10:49:57 +02:00
Mads Rasmussen 564a979bdd WIP: add validation to overlay, validate property name. 2015-07-30 09:58:50 +02:00
Mads Rasmussen 3afbddbd42 Add placeholder texts to alias's. Only generate alias's on the server to remove mismatches. 2015-07-30 09:55:51 +02:00
Mads Rasmussen 134b8bc3f7 Fixed U4-6876: Added sort order to properties 2015-07-30 09:48:59 +02:00
Shannon 959378c456 Fixes file cleanup with blue imp uploads 2015-07-29 16:14:09 +02:00
Shannon 787e128d5c wires up event messages for media editor and tree (haven't done the drag/drop media upload though) 2015-07-29 16:00:06 +02:00
Shannon b7912a7be7 fixes build 2015-07-29 15:22:22 +02:00
Shannon 0bc7aa6ba7 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2015-07-29 15:18:34 +02:00
Shannon 367da39bbb wires up UI to show notifications for delete cancellation 2015-07-29 15:18:23 +02:00
Shannon 6d8ffb903f Ensures events for deleting, trashing and unpublishing are done using the event messages, updates UI to support showing these messages in the list view, Since we cannot change the
method results on a service, we've created a new temporary service that we will explicitly implement with an extension method to get it. This is temporary until v8 where we will just replace
the original methods on the service with these methods and then remove this class.
2015-07-29 15:12:12 +02:00
Shannon 0e992f897f Removes standalone classes, we can replace these with what we've got in the LinqPad provider 2015-07-29 15:07:55 +02:00
Shannon 3f19878c18 changes member controller to use long overload 2015-07-29 15:07:32 +02:00
Stephan 308f64a7e2 doc BatchedDatabaseServerMessenger startup 2015-07-29 11:22:12 +02:00
Mads Rasmussen ee95009358 Fixed: U4-6876 add sort order to tabs 2015-07-28 20:22:49 +02:00
Mads Rasmussen 475ba85bf8 Hot key directive: if shortcut is enter - do not click if a button or links has focus, but click focused element instead 2015-07-28 19:53:17 +02:00
Mads Rasmussen e42c2cdf7f change overlay submit keyboard shortcut to enter 2015-07-28 19:51:45 +02:00
Shannon 1eab92b299 updates prog bars in examine mgt dashboard to be like other umb prog bars 2015-07-27 18:58:14 +02:00
Shannon 7a8b8f138f Fixes list view search debounce and adds a ui indication that search is in progress. 2015-07-27 18:48:41 +02:00
Shannon 926ea54c39 Developers can cancel an event with the CancelOperation method of the event with a custom message which will be used in place of the normal default cancellation message 2015-07-27 18:04:20 +02:00
Mads Rasmussen 18fb600931 add esc as keyboard shortcut for closing keyboard shortcut overlay 2015-07-27 13:23:51 +02:00
Mads Rasmussen 33b20e95d3 Change multinode tree picker remove icon to link - to prevent overlay from closing when clicking 2015-07-27 10:31:27 +02:00
Mads Rasmussen 0f41749733 Change image cropper remove icon to link - to prevent overlay from closing when clicking 2015-07-27 09:52:28 +02:00
Mads Rasmussen 3c96875f5a Change media picker remove icon to link - to prevent new overlay from closing when clicking 2015-07-27 09:43:24 +02:00
TimoPerplex 68ff77f5b6 This commit removes the hardcoded .jpg thumbnails
This commit removes the hardcoded .jpg thumbnails and uses the image
original extension to create the thumbnail.
Because we now use the original extension the image is no longer masked
as another (extension is .jpg but the file is actually a .png)

This fixes issues with Internet Explorer used in combination with the
no-sniff header.
Ref topic:
https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/66788-adding-nosniff-header-breaks-png-images-in-internet-explorer
2015-07-24 16:27:26 +02:00
TimoPerplex 47e7469d65 Merge remote-tracking branch 'upstream/dev-v7' into dev-v7 2015-07-24 16:18:58 +02:00
Mads Rasmussen 05ba88020f add parent node to available if list is empty 2015-07-16 15:58:27 +02:00
Mads Rasmussen c03d369f7d roll back to ng-if on name in header for now, the auto-focus directive does not work with ng-show. 2015-07-16 15:57:55 +02:00
Mads Rasmussen b2bb416c53 make data type name and view into links 2015-07-16 12:45:28 +02:00
Mads Rasmussen da8bfac1ea add auto focus to icon picker filter 2015-07-16 12:27:49 +02:00
Mads Rasmussen c2574d7bfe Restyling of composition checkbox list, added composition descriptions. 2015-07-16 12:24:21 +02:00
Mads Rasmussen 6a569ab0dc change ng-if to ng-show in header to prevent isolated scopes. 2015-07-16 12:14:16 +02:00
Per Ploug Krogslund 495493f2c5 Updates existing property types in mapper correctly 2015-07-16 11:12:40 +02:00
Per Ploug Krogslund 1f0e96160b Enable a contenttype to be allowed under itself 2015-07-16 10:51:25 +02:00
Mads Rasmussen 01a571371c Add dashed border when content type name is missing + fixed input height. 2015-07-15 19:11:51 +02:00
Mads Rasmussen 538155b6a1 show child node and template shortcut in overview 2015-07-15 15:45:59 +02:00
Mads Rasmussen 09de56664a add keyboard shortcut to umb grid selector directive 2015-07-15 15:44:10 +02:00
Mads Rasmussen c88da53a09 add keyboard shortcut to child selector directive 2015-07-15 15:42:53 +02:00
Mads Rasmussen 800d1abda0 overlay directive: if position is set to target but the mouse x and y is undefined use position center instead (used when a keyboard shortcut triggers the overlay) 2015-07-15 15:41:43 +02:00
Mads Rasmussen 03e10e1882 fix header position on center overlays 2015-07-15 15:29:15 +02:00
Mads Rasmussen 067e4a468c add keyboard shortcut overview to sections 2015-07-15 13:27:28 +02:00
Mads Rasmussen 9742ee74bf Add possibility to add key range in shortcut overview directive 2015-07-15 13:25:59 +02:00
Mads Rasmussen d4b13419c1 change dialog submit keyboard shortcut to alt+shift+s to fix problem with hitting enter on focused elements. 2015-07-15 12:37:25 +02:00
Mads Rasmussen de79be6ec1 make tab and property placeholders in to links to make them better "tabable". 2015-07-15 12:36:09 +02:00
Mads Rasmussen 7fa23140f1 Editor navigation: make buttons into links and add numbers as hotkeys 2015-07-15 12:27:33 +02:00
Mads Rasmussen c3a30cccfb hot key directive: fix issue when setting numbers as hotkeys + if a hotkey only consist of one key, disable keyboard shortcut in input's. 2015-07-15 12:25:02 +02:00
Mads Rasmussen d7aed9069d fix issue when removing multiple tabs from a composition 2015-07-15 10:46:56 +02:00
Mads Rasmussen 5ed9d4766f fix min height on tabs when sorting and adding new tabs 2015-07-14 11:52:31 +02:00
Mads Rasmussen 2655a26e9b Add keyboard shortcut for allow as root 2015-07-14 11:02:56 +02:00
Mads Rasmussen 56d1a09e8f Fix issues with child nodes: convert from array of primitives to array of objects and back again. Sync name and icon when changing on content type. 2015-07-14 10:53:12 +02:00
Mads Rasmussen bb1f9c0a42 Fixed: U4-6829 Client side set flag inherited = false when adding a property to a tab. 2015-07-14 10:25:19 +02:00
Mads Rasmussen c23afee261 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-07-13 19:38:30 +02:00
Mads Rasmussen 71c14b6944 Added shortcut to add editor 2015-07-13 16:13:30 +02:00
Mads Rasmussen 263fd4b162 Added shortcut to edit data type 2015-07-13 16:12:22 +02:00
Mads Rasmussen fa5ebd13de added shortcut to toggle list view 2015-07-13 16:11:21 +02:00
Mads Rasmussen 95bbcc35a4 added shortcut to add property 2015-07-13 16:10:38 +02:00
Mads Rasmussen a9cb694c2d added shortcut to add tab 2015-07-13 16:10:08 +02:00
Mads Rasmussen fc8751f897 WIP: added directive to show a keyboard shortcuts overview 2015-07-13 16:06:51 +02:00
Mads Rasmussen 7d85074387 accept hotkey on div elements 2015-07-13 15:57:45 +02:00
Shannon 4c1a65283a Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs
2015-07-13 15:42:25 +02:00
Shannon ff71d5b88f Fixes issue with custom property editors/data types when no group is assigned - was getting null ref exceptions. 2015-07-13 15:40:57 +02:00
Shannon 8521dfb0d7 Fixes issue that you could not remove a property group, fixes issue that the inherited flag during mapping wasn't set on a standalone parent property group, updated/created tests to support. 2015-07-13 15:29:00 +02:00
Mads Rasmussen 111be2dd8d add filter to item picker overlay 2015-07-13 14:55:20 +02:00
Mads Rasmussen 5c538426e5 clean up hotkey directive keyboardService on $destroy 2015-07-13 14:50:26 +02:00
Shannon bfe4f79b7c Fixes security on member, content and media type controllers 2015-07-13 14:21:33 +02:00
Shannon 913505c547 Fixes a backoffice IsAuthenticated check to ensure it's the correct identity type 2015-07-13 14:21:13 +02:00
Shannon 1e8bee9826 Fixes mapping tests, simplifies property group mappings, adds another test to test composition mappings. 2015-07-13 13:42:40 +02:00
Shannon ae32f49243 Updates permissions on DataTypeController 2015-07-13 13:41:34 +02:00
Shannon bb8864f51b ensures that when setting the PropertyType's property on a PropertyGroup that the PropertyGroupId is set 2015-07-13 13:41:15 +02:00
Per Ploug Krogslund 446d158ff7 Fixes issues related to default templates
Ensures default template is created on new, properly updates Ids on
allowed templates and makes default template correct
2015-07-13 12:11:28 +02:00
Shannon 2e088fa036 Merge branch 'dev-v7' into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
	src/Umbraco.Web/Umbraco.Web.csproj
2015-07-13 09:49:34 +02:00
Mads Rasmussen 6b18e19ea3 Template section: only add name watcher on new types 2015-07-10 12:28:35 +02:00
Mads Rasmussen 993a517ec5 umb button group: added hot key to submit 2015-07-10 12:15:25 +02:00
Mads Rasmussen 1d0f24fb2d Umb-overlay: add hotkeys to submit and close overlay 2015-07-10 12:12:32 +02:00
Mads Rasmussen 70e5731ee4 Edit data type: when data type name is changed - switch the default save button to save as new 2015-07-10 11:59:53 +02:00
Mads Rasmussen 09941be089 umb button group: set default button based on property value to make it easier to switch default button from outside the directive. 2015-07-10 11:57:11 +02:00
Mads Rasmussen 4ae0dbbdbf comment out user configured and custom property editors in editor picker 2015-07-10 10:00:24 +02:00
Mads Rasmussen 2eea8da101 insert template placeholder as default template on new content types 2015-07-10 09:42:18 +02:00
Per Ploug Krogslund 1ea7d062f2 Property types can now delete properly on changed types 2015-07-07 21:13:35 +02:00
Per Ploug Krogslund 446b434408 passes the scope correctly to the resetform
+ fixes a couple of eslint issues
+ adds notification
2015-07-07 21:13:12 +02:00
Per Ploug Krogslund fc1c3697d5 Adds delete method to delete dialog 2015-07-07 21:12:26 +02:00
Per Ploug Krogslund 89088b1e92 Changes safeAlias response to object 2015-07-07 21:12:12 +02:00
Mads Rasmussen 9e875e404c set header name and alias to $parent to bind to scope. Set auto focus on name 2015-07-07 19:39:44 +02:00
Per Ploug Krogslund 798cbb8190 Create a defaultTemplate if it doesn't exist 2015-07-07 18:53:58 +02:00
Mads Rasmussen 05a411d54a add "fake" template as default for new content types 2015-07-07 14:24:30 +02:00
Mads Rasmussen 8e8c66fcfa fix issue with enabling list view on new content types 2015-07-07 12:42:14 +02:00
Per Ploug Krogslund 76d9efb398 Default listview and custom listview lookup 2015-07-07 11:29:53 +02:00
Mads Rasmussen 15dcf43dd3 remove hyphens in list view directive name 2015-07-07 10:05:33 +02:00
Mads Rasmussen 2846c0c6b1 add confirm delete directive + add it to removing properties and tabs 2015-07-07 09:46:26 +02:00
Mads Rasmussen f7eaec3696 add composition groups to the top of the content type array 2015-07-06 21:40:00 +02:00
Per Ploug Krogslund 583c18bdd3 Merges in parent ct names on each tab 2015-07-06 15:19:20 +02:00
Per Ploug Krogslund 0bf86e8286 Adds list view name for the content type 2015-07-06 15:19:20 +02:00
Mads Rasmussen 2cdf2c91de Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-07-06 14:21:33 +02:00
Per Ploug Krogslund 955f1eacf8 Changes the order of inherited properties on tabs 2015-07-06 14:15:23 +02:00
Mads Rasmussen 19585b21fa prevent closing new dialog when you click on the old dialog 2015-07-06 13:50:06 +02:00
Mads Rasmussen 4eb22b65c7 add auto focus to editor picker filter 2015-07-06 11:08:02 +02:00
Mads Rasmussen 13b7ca968a fix issue with generating alias on a new content type 2015-07-06 09:26:46 +02:00
Mads Rasmussen e4fab5b6cc make add editor link blue 2015-07-06 09:23:03 +02:00
Mads Rasmussen 1bbbce469c lighten up property text placeholders 2015-07-06 09:22:37 +02:00
Mads Rasmussen a97e826efa set placeholder for icon - if none is chosen. Remove header elements if they are undefined 2015-07-03 10:06:44 +02:00
Mads Rasmussen 4924da9232 overwrite data type will update all other data types with the same id 2015-07-02 10:42:40 +02:00
Mads Rasmussen 76b3ab1276 Make directive for list view + use directive in content type editor 2015-07-02 09:45:39 +02:00
Mads Rasmussen 6a780df09a When selecting property editors with no data type - create new data type. 2015-07-01 15:05:16 +02:00
Mads Rasmussen 939be565f0 data type picker - filter out user configured data types from system data types 2015-06-30 15:22:10 +02:00
Mads Rasmussen c3d5d84c12 set default cursor on inherited preview hover 2015-06-30 15:21:06 +02:00
Mads Rasmussen 281e14a946 load in data type details for each merged composition property 2015-06-30 15:19:38 +02:00
Mads Rasmussen 936278fecb remove double watcher on property in umb-group-builder 2015-06-30 14:17:35 +02:00
Mads Rasmussen 282e2fb786 Generate alias: wait for alias from input before activating 2015-06-30 14:16:41 +02:00
Mads Rasmussen a43ba3eed2 Add fade in animation to overlay 2015-06-30 12:17:27 +02:00
Mads Rasmussen 5001e28750 Permissions section: Check for legacy icons on allowed child nodes 2015-06-30 11:34:10 +02:00
Mads Rasmussen face274b93 Property picker overlay: remove filtered out sections 2015-06-30 10:25:06 +02:00
Mads Rasmussen 582df08032 use umb-card-grid class in item picker overlay 2015-06-30 10:24:08 +02:00
Mads Rasmussen 4ec2baf532 Generate alias directive: call service to get safe alias. 2015-06-29 19:51:40 +02:00
Mads Rasmussen de559d951c Move content type editor design section to directive. Clean up HTML and CSS. 2015-06-29 19:49:24 +02:00
Per Ploug fee58358fb Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-26 13:21:16 +02:00
Per Ploug e736835469 Adds GetSafeAlias to contentTypeResource 2015-06-26 13:21:08 +02:00
Mads Rasmussen 7131a002df move the child node selector into a directive, move styles. use BEM methodology for stylesheet 2015-06-25 22:22:46 +02:00
Mads Rasmussen b66528f14e Move template picker into generic directive 2015-06-25 21:19:22 +02:00
Mads Rasmussen cb2ad05d3d Merge branch 'ct-local' into dev-v7-contenttypeeditor 2015-06-25 21:10:04 +02:00
Vincent Baaij 2e43a34812 Merge remote-tracking branch 'upstream/dev-v7' into dev-v7 2015-06-25 17:37:36 +02:00
Shannon 035318753b Merge remote-tracking branch 'origin/dev-v7' into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Web/Umbraco.Web.csproj
2015-06-25 17:35:58 +02:00
Vincent Baaij 1b9afc961b Fix for #U4-6171 Continuous Deployment from Visual Studio Online to Azure Websites not working as expected 2015-06-25 17:35:15 +02:00
Per Ploug 888ba8f285 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-25 11:49:08 +02:00
Per Ploug fc323ae89d Include EsLint in grunt
ESlint is not turned on by default - as it gives us 500ish errors as of
the current state of the codebase, also, we should start linting
controllers (why arent we?)

EsLint contains angular best practices rules and will help us get V8
ready for Angular2 and to follow best practices, untill everything
passes we can turn it on and off during clean-up time
2015-06-25 11:49:00 +02:00
Per Ploug 3565d1e26b Manifest parser tests updated to include icon and group 2015-06-25 11:43:51 +02:00
Shannon 693b87a527 Fixes upgrade issue 2015-06-25 11:15:04 +02:00
Mads Rasmussen c50195843c fix disabling sortable issue when tab/property is inherited after controller as update 2015-06-25 11:10:44 +02:00
Mads Rasmussen 07225f0e43 umb-locked-field lock icon align top 2015-06-25 11:08:30 +02:00
Mads Rasmussen fbfa0b597b fix problem with overlapping fields in editor header 2015-06-25 11:07:07 +02:00
Mads Rasmussen 01bf84664a compress property preview fields 2015-06-25 11:04:45 +02:00
Shannon 3c04f43abc Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-25 10:23:33 +02:00
Shannon da7b0e34d2 fixes test 2015-06-25 10:22:34 +02:00
Shannon fc7932c2bf Merge remote-tracking branch 'origin/dev-v7' into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs
	src/Umbraco.Web.UI.Client/bower.json
	src/Umbraco.Web.UI.Client/gruntFile.js
	src/Umbraco.Web.UI.Client/src/less/property-editors.less
2015-06-25 10:16:35 +02:00
Per Ploug f8beb5ec3f Use IEnumerable instaed of List for fetching datatypes 2015-06-25 10:09:55 +02:00
Per Ploug 9c8489c4c5 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-24 21:43:22 +02:00
Per Ploug 8679c26f3d Added icons and groups on all core editors 2015-06-24 21:43:14 +02:00
Shannon 6a7c4e9dc1 Merge remote-tracking branch 'origin/dev-v7' into dev-v7-contenttypeeditor 2015-06-24 15:20:32 +02:00
Per Ploug 4b72fc3642 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-24 12:54:16 +02:00
Per Ploug 5e81aed928 Adds icon and group to property editor classes 2015-06-24 12:54:06 +02:00
Per Ploug 15c1477907 Moves localization directive into seperate folder 2015-06-24 12:53:10 +02:00
Per Ploug 933f97fef7 Umb-editor and Umb-Property-Editor into 1 file
only done to keep backwards compat and avoid dublicate code.
2015-06-24 12:52:27 +02:00
Per Ploug c9008c9946 Renames ContentType Create function as it broke another create dialog 2015-06-24 12:51:24 +02:00
Per Ploug e254e241b5 Fixes missing progress bars and large file error 2015-06-24 12:50:36 +02:00
Per Ploug 945858bbbc Cleanup unused directives
Removes the old upload directives and unused buttongroup directive
2015-06-24 12:50:02 +02:00
Shannon 8f4da31f0b removes old grunt-bower task. 2015-06-24 11:34:50 +02:00
Shannon d7fc15dd67 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-24 11:15:46 +02:00
Shannon fde162b086 Fixes up bower installer, no longer using grunt-bower-task since it is old and doesn't support the copying that we need, updates to latest bower dependency 2015-06-24 11:15:04 +02:00
Mads Rasmussen 73e54ea402 test out controller as syntax for sub views controllers + fix problems with the sub views directive caused by this approach 2015-06-24 11:00:00 +02:00
Per Ploug 34893d5f53 Delete dublicate event file 2015-06-24 10:22:22 +02:00
Per Ploug 6d6bcff233 Moves on-delayed-mouseleave to events directives
Keep all these utillity events in one file
2015-06-24 10:22:10 +02:00
Shannon c64bd5f65a Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Web.UI.Client/bower.json
2015-06-24 09:52:46 +02:00
Shannon 32e0cbc886 updates bower/grunt file for new ng file upload 2015-06-24 09:51:36 +02:00
Per Ploug 1e5b8eb0fc Removes unused bower dependencies from bower.json 2015-06-23 22:59:17 +02:00
Per Ploug dada265736 Adds jquery event unbinding
Updates the dom event binding to use the newer on/off instead of
bind/unbind.
Adds off() to all dom event directives triggered by scope.on($destroy).
2015-06-23 22:58:47 +02:00
Shannon aad82360ad Merge branch 'dev-v7' into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Web.UI.Client/bower.json
	src/Umbraco.Web.UI.Client/src/app.dev.js
	src/Umbraco.Web.UI.Client/src/less/application/grid.less
	src/Umbraco.Web.UI.Client/src/less/panel.less
	src/Umbraco.Web.UI.Client/src/loader.js
	src/Umbraco.Web/Umbraco.Web.csproj
2015-06-23 18:27:18 +02:00
Per Ploug a53166828a Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-23 14:08:15 +02:00
Per Ploug 3212bfa4b6 New upload field + dependencies 2015-06-23 14:08:02 +02:00
Mads Rasmussen da18a89540 move design view logic from edit.controller to design.controller 2015-06-23 13:58:43 +02:00
Mads Rasmussen 7b547a3ad1 create service for data type helper function. call createPreValueProps from helper service 2015-06-23 11:39:54 +02:00
Mads Rasmussen 759599b426 call addInitTab from new service 2015-06-23 11:18:02 +02:00
Mads Rasmussen f4aff7752c move content type logic from controller to new service 2015-06-23 11:13:20 +02:00
Per Ploug 10a5fd91c7 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-23 09:57:27 +02:00
Per Ploug 2e2f8723a0 Set collections on property groups 2015-06-23 09:56:59 +02:00
Per Ploug efd231f6a9 Core Constants Icons class 2015-06-23 09:56:19 +02:00
Mads Rasmussen ea9604c260 sorting: disable properties/tabs when inherited. Remove sorting animation. 2015-06-23 09:25:29 +02:00
Mads Rasmussen a1498b6242 use compareArray filter to filter out data types from property editors 2015-06-22 15:04:19 +02:00
Mads Rasmussen 2067d65704 use compareArray filter to compare selected templates with available templates. Clean up controller 2015-06-22 15:03:02 +02:00
Mads Rasmussen fbc2a6fb4b use compareArray filter to compare selected nodes with available nodes. Clean up controller 2015-06-22 15:01:52 +02:00
Mads Rasmussen 4e2143264c created a custom filter to compare two arrays and remove duplicates based on a compare property 2015-06-22 14:59:25 +02:00
Mads Rasmussen ad52ae0ddb change margins on lock icon 2015-06-22 09:29:26 +02:00
Mads Rasmussen 4d1954cc84 use alias directive in header and property settings dialog 2015-06-22 09:28:50 +02:00
Mads Rasmussen 4aa572629f create directive for generating aliases - still needs server side validation 2015-06-22 09:27:42 +02:00
Mads Rasmussen 5e3d32c88b umb blocked field directive - allow changing lock from outside the directive 2015-06-22 09:17:08 +02:00
Mads Rasmussen 54f6084189 fix issues with split and merge composite content types 2015-06-22 09:13:47 +02:00
Mads Rasmussen f1a2883cd6 forgot rename of remove tab function 2015-06-22 09:12:23 +02:00
Mads Rasmussen 53dfc93c65 allow deletion of empty tabs 2015-06-19 11:33:23 +02:00
Mads Rasmussen 197e5b066a disable edit property settings from property is inherited 2015-06-19 10:47:25 +02:00
Mads Rasmussen 20e852ae31 add basic remove tab functionality 2015-06-19 10:32:54 +02:00
Mads Rasmussen fcbb4e819e Revert "Move property classes to be able to remove margin-bottom from last property in list. Set margin-bottom on last property to 0."
This reverts commit d982ca111d.
2015-06-19 09:10:05 +02:00
Mads Rasmussen d982ca111d Move property classes to be able to remove margin-bottom from last property in list. Set margin-bottom on last property to 0. 2015-06-18 15:09:32 +02:00
Mads Rasmussen 223cd16206 align tab and property sorting handle in sorting mode 2015-06-18 14:50:21 +02:00
Mads Rasmussen c44d0a5ec0 fix bug where it was possible to sort tabs outside sorting mode 2015-06-18 14:41:59 +02:00
madsrasmussen 2cc90fe140 Merge pull request #720 from ordepdev/U4-6725
U4-6725
2015-06-18 13:59:29 +02:00
Mads Rasmussen 5013842189 change design section icon 2015-06-18 13:00:47 +02:00
Mads Rasmussen a4dde5f6db convert legacy icons in permissions section 2015-06-18 12:53:26 +02:00
Mads Rasmussen 318f9ff8d5 move merge and split composite content types into it's own functions. fix bug where split and merge get swapped 2015-06-18 11:14:38 +02:00
Mads Rasmussen fc91189fa2 change templates icon to use icon from model. Change icon on template section to use same icon. 2015-06-18 10:40:58 +02:00
Mads Rasmussen ab1a5eabc1 Remove icon placeholder in header and make a more smooth transition 2015-06-18 10:23:30 +02:00
Mads Rasmussen 8c58aac3ea convert legacy icons 2015-06-18 10:21:32 +02:00
Pedro Tavares f7a01676ab set tab-title-input default width to 0px 2015-06-18 02:20:35 +01:00
Per Ploug d5cfefca39 Adds getAllPropertyEditors to datatype resource 2015-06-17 22:20:41 +02:00
Mads Rasmussen 1ce37dfd9e clean up overlay.less remove unsed style + element in html, fix issue with custom width on centered dialog 2015-06-17 15:55:20 +02:00
Mads Rasmussen 61b9dd6ba9 move action buttons in dialog to the right side 2015-06-17 14:39:20 +02:00
Mads Rasmussen d0af50edb2 less margin-right on property meta in preview 2015-06-17 14:00:29 +02:00
Mads Rasmussen 330b7802cf property dialog use umb-auto-resize directive on text areas + styling 2015-06-17 13:55:59 +02:00
Mads Rasmussen ec6022b05b add auto resize to property preview description + remove resize style 2015-06-17 12:27:25 +02:00
Mads Rasmussen 5fc2299508 Enable/disable list views, create custom list views, remove custom list views. Edit list view data types. 2015-06-17 10:44:40 +02:00
Mads Rasmussen 71afa29570 squeeze properties a bit more 2015-06-16 15:27:27 +02:00
Mads Rasmussen 5a96964549 property preview - change alias input to text 2015-06-16 15:14:28 +02:00
Mads Rasmussen 7358918ae6 remove unused overlay 2015-06-16 15:06:22 +02:00
Mads Rasmussen 643f499bdc fix property preview alignment 2015-06-16 15:05:43 +02:00
Mads Rasmussen f5b4bd4274 only set tab-title min size if tab-title is empty 2015-06-16 14:19:45 +02:00
Mads Rasmussen 28ae5a6ac4 set new min height on tab to reflect property placeholder height 2015-06-16 14:11:22 +02:00
Mads Rasmussen d02327813a Set placeholder on tab name 2015-06-16 14:05:25 +02:00
Mads Rasmussen 4a6bf3f777 change label on validation field in property settings dialog 2015-06-16 14:01:24 +02:00
Mads Rasmussen be501c7ead icon picker - show chosen color in header 2015-06-16 13:58:10 +02:00
Mads Rasmussen e8b5ae2ac6 make property placeholder smaller 2015-06-16 13:39:07 +02:00
Per Ploug 05d554d8a6 Fixes doctype icon map 2015-06-16 13:30:28 +02:00
Per Ploug b05fc5f0f0 Service for creating custom list view - given a type alias 2015-06-16 11:52:09 +02:00
Per Ploug aed6819b6c Adds GetCustomListView and GetByName to datatype service 2015-06-16 11:35:24 +02:00
Mads Rasmussen 554dff5235 Added filtering to property editor picker 2015-06-16 09:15:20 +02:00
Mads Rasmussen a5ca52d3c4 Property editor picker - order by name 2015-06-16 09:05:24 +02:00
Mads Rasmussen a3a1b1afc9 fix button hover issue in overlay grid 2015-06-15 12:03:22 +02:00
Mads Rasmussen dcb31e527c make choose template link blue 2015-06-15 11:30:02 +02:00
Mads Rasmussen be35aa0eef Choose default template as first template, show message when all templates are chosen, allow removal of default template if all other templates has been removed. 2015-06-15 11:29:30 +02:00
Mads Rasmussen 2c9343afcb Add list view labels mock 2015-06-09 11:16:49 +02:00
Mads Rasmussen f37fb1078f add filter to icon picker 2015-06-08 22:46:22 +02:00
Mads Rasmussen 42c2c23437 remove json debug in html + small indent clean up 2015-06-08 22:34:42 +02:00
Mads Rasmussen 74eb5f628c get data type details for each property on init 2015-06-08 22:26:41 +02:00
Mads Rasmussen 51a5dbb72a Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-08 19:38:43 +02:00
Mads Rasmussen 12702a12b4 Add validation to property 2015-06-08 19:37:15 +02:00
Shannon f167f84c7f doc type folders are a thing 2015-06-08 19:02:35 +02:00
Shannon 089909c036 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-08 18:22:52 +02:00
Shannon 4e4382ff90 folders are more or less working. 2015-06-08 18:22:43 +02:00
Per Ploug 6e23e3eeeb change default ct icon 2015-06-08 18:18:05 +02:00
Per Ploug 77a571efb3 update ui to latest 2015-06-08 18:17:36 +02:00
Per Ploug 120b7bae17 clean up membertype groups and props 2015-06-08 18:17:26 +02:00
Per Ploug e8abe4af2d map generic properties the right way 2015-06-08 18:17:10 +02:00
Per Ploug ddfd2fece4 Map member types 2015-06-08 18:16:52 +02:00
Per Ploug 8ec652c557 ignore system properties 2015-06-08 18:16:41 +02:00
Shannon f36574fef3 Merge branch '7.3.0' into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Web.UI.Client/src/canvasdesigner.loader.js
	src/Umbraco.Web.UI.Client/src/less/pages/login.less
2015-06-08 18:03:39 +02:00
Shannon 76ffbab26f Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Web.UI/config/trees.config
2015-06-08 18:00:29 +02:00
Shannon 97c6067b70 Gets initial doc type folders working 2015-06-08 17:59:56 +02:00
Per Ploug 7b06c37f44 merge 2015-06-08 16:49:34 +02:00
Per Ploug 13fd548c17 Adds umb-locked-field directive 2015-06-08 16:06:10 +02:00
Mads Rasmussen 6ff82475e4 set min-width on name field when name is empty 2015-06-08 15:00:56 +02:00
Per Ploug e82e608701 removed lorem ipsum 2015-06-08 14:39:40 +02:00
Per Ploug 416fe02608 Property editor dialog cleaned up 2015-06-08 14:39:37 +02:00
Mads Rasmussen 174f5c2043 load templates in templates section 2015-06-08 14:37:08 +02:00
Mads Rasmussen 109c0408cf Increase resize directive delay time 2015-06-08 14:29:21 +02:00
Per Ploug c4abe6c771 Enables available templates
fixes the last mapping issues
2015-06-08 14:03:48 +02:00
Per Ploug 84a1230759 Changes GetScaffold to GetEmpty 2015-06-08 14:03:47 +02:00
Mads Rasmussen 93b0991dc4 Add prototype for template section 2015-06-08 14:01:37 +02:00
Shannon 08762e5a00 Fixes getScaffold issue, starts adding Create dialog for doc types 2015-06-08 13:10:52 +02:00
Mads Rasmussen bbb4a25070 Basic implementation of icon picker. Still needs support for images 2015-06-08 11:16:49 +02:00
Shannon 8ec397e4ae Updates mappings to ensure the underlying logic in the ContentType classes is used when using AddPropertyGroup and AddPropertyType 2015-06-06 11:32:21 +02:00
Shannon c7510ab50e fixes prop group/prop type mapping for when there is a new property group with new property types assigned 2015-06-06 10:58:25 +02:00
Per Ploug 34060ceed6 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-06 08:40:11 +02:00
Mads Rasmussen 61519f1762 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-06-05 22:38:56 +02:00
Mads Rasmussen 0f70d1a69f Temp removal of 1 sec timeout to prevent bug where overlay does not open 2015-06-05 22:38:20 +02:00
Mads Rasmussen 50f3a4bd61 Change from select element to target overlay 2015-06-05 22:34:11 +02:00
Mads Rasmussen 203deb55e5 Extend overlay directive with "target"-version 2015-06-05 22:29:14 +02:00
Shannon 2654657701 fixes up some more mappings, now the persistence tests are working 2015-06-05 16:37:39 +02:00
Shannon f2f29eaa8e Fixes up some more mappings, adds another test to simulate persisting an updated type from the display model - which isn't working so need to fix more. 2015-06-05 16:13:13 +02:00
Per Ploug cf3dfe4992 merge 2015-06-05 12:20:45 +02:00
Per Ploug 87b9758337 Change propertyresolver to use IContentTypeComposition 2015-06-05 12:16:41 +02:00
Per Ploug 3cf9ceb2a6 Remove membertype from content type mapper 2015-06-05 12:16:08 +02:00
Per Ploug 1eb98a7478 Change GetScaffold to GetEmpty 2015-06-05 12:15:43 +02:00
Per Ploug 55daa2ee45 WIP membertype editor 2015-06-05 12:15:20 +02:00
Shannon e580bfef97 moves mapping for allowed content types to be inline, no need for after map for that 2015-06-05 12:13:40 +02:00
Shannon c9cb7034f8 fixes mappings with change to allowed content types with enumerable int's. Fixes up a mapping to not do ToArray() and consuming more memory than required 2015-06-05 12:09:20 +02:00
Shannon d797677879 Merge remote-tracking branch 'origin/dev-v7-contenttypeeditor' into dev-v7-contenttypeeditor
Conflicts:
	src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs
2015-06-05 12:00:07 +02:00
Shannon a483ec306c fixed up more mappings and tests 2015-06-05 11:59:45 +02:00
Mads Rasmussen 867d955d01 Optimize directive to not use ng-repeat 2015-06-04 22:55:03 +02:00
Mads Rasmussen 309afc9e2d Remove margin top on tabs 2015-06-04 21:30:22 +02:00
Mads Rasmussen 1d3238d9d8 use new umb-editor-navigation + umb-editor-sub-views directives + styling of header 2015-06-04 21:28:50 +02:00
Mads Rasmussen 3dbd7fafd4 Added directives to split navigation and sub views so it is possible to add navigation to editor header. 2015-06-04 21:24:13 +02:00
Shannon 087c07bcbd started updating the content type mapping. 2015-06-04 16:52:22 +02:00
Per Ploug ac16f9498e Changes allowed content types to list<int> 2015-06-04 10:59:26 +02:00
Mads Rasmussen 2fe00d6455 content type permissions sub view 2015-06-03 21:30:45 +02:00
Mads Rasmussen 4d2ef9c07d Add no-indent variations of checkboxes and radios 2015-06-03 21:26:47 +02:00
Mads Rasmussen 66cd5d0b66 Add list wrapper class 2015-06-03 18:50:47 +02:00
Mads Rasmussen 37d88ed224 Bring back the bold tab strokes to make more contrast + remove inherited property border 2015-06-03 18:48:55 +02:00
Mads Rasmussen cc226cf9ac Add margin in top of tabs list to compensate for position absolute tab titles 2015-06-03 18:47:41 +02:00
Mads Rasmussen 51dea2d5fc Remove padding from canvas on big screens 2015-06-03 18:46:26 +02:00
Mads Rasmussen d6281f3e2b Add more margin to the bottom of sub views nav 2015-06-03 18:45:39 +02:00
Per Ploug c2c93a1a5b removes unneeded tolists 2015-06-03 15:09:19 +02:00
Per Ploug d62ae17f05 Content type get all method 2015-06-03 14:56:32 +02:00
Per Ploug 882f866a5f Removes singleton reference 2015-06-02 22:03:30 +02:00
Mads Rasmussen 8cdb34adb6 umb-sub-views directive: select tools form the first view on init 2015-06-02 15:29:40 +02:00
Mads Rasmussen 5178525802 Use umb-sub-views directive to load in views in the content type editor 2015-06-02 15:14:56 +02:00
Mads Rasmussen f5f4eef7a9 load in umb-sub-views less file 2015-06-02 15:02:55 +02:00
Mads Rasmussen fe28bcafca Added custom directive to add sub views to a page 2015-06-02 15:00:37 +02:00
Per Ploug bd1de4559d Adjusting the content type display model 2015-06-02 11:57:43 +02:00
Mads Rasmussen bb5a89956c Remove border in sorting mode 2015-06-01 19:18:41 +02:00
Mads Rasmussen eca0f91794 Better styling of inherited property label 2015-06-01 15:52:20 +02:00
Mads Rasmussen ac42eebe60 remove unused function 2015-06-01 14:41:45 +02:00
Mads Rasmussen a8c00ed2d3 set borders to 1px, remove shadow + move inherited tab text 2015-06-01 14:40:54 +02:00
Mads Rasmussen 058085d9d0 move dialog outside form 2015-06-01 13:26:14 +02:00
Mads Rasmussen f0f5ab9304 Add button group to edit data type dialog with the possibility to save and save as new 2015-06-01 13:24:13 +02:00
Mads Rasmussen 53ef8ce7f4 Added directive to add bootstrap button groups 2015-06-01 13:17:41 +02:00
Mads Rasmussen 5586e07329 Show dataTypeName instead of preview when an editor is loaded 2015-05-29 13:59:11 +02:00
Mads Rasmussen 6773057b11 fix actions button position 2015-05-29 12:42:34 +02:00
Mads Rasmussen e2417f92f5 Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-05-29 12:40:28 +02:00
Mads Rasmussen b622184c87 WIP header 2015-05-29 12:40:04 +02:00
Per Ploug 350161bfee Actions button 2015-05-29 12:11:29 +02:00
Mads Rasmussen acdc81a384 Do not add contentType to available content type model 2015-05-29 11:55:37 +02:00
Per Ploug 89ca027835 Delete dialog POC and label change 2015-05-29 11:46:47 +02:00
Mads Rasmussen 19cc7effe7 add Checklist-model to composition dialog - change from composite id to alias 2015-05-29 11:36:16 +02:00
Per Ploug 1a04f5f071 Mapping of composite alias 2015-05-29 11:18:22 +02:00
Per Ploug f65bff185d WIP On mapping 2015-05-29 09:21:38 +02:00
Per Ploug f0343788b7 Tree actions for CT 2015-05-29 09:21:37 +02:00
Per Ploug 271bc6ba4c Adds scaffolding to the CT service 2015-05-29 09:21:34 +02:00
Per Ploug e4eb6363ea Wires up the save button 2015-05-29 09:21:28 +02:00
Per Ploug fcf6d70803 Minor ui changes 2015-05-29 09:21:21 +02:00
Mads Rasmussen 96d0c01217 Change add property flow + better styling of property settings dialog 2015-05-28 16:34:37 +02:00
Per Ploug 4424f0a37b Correct mapping of composte type ids 2015-05-28 14:01:18 +02:00
Per Ploug f96e13902c Sets correct property inherite stattus 2015-05-28 12:59:04 +02:00
Mads Rasmussen 80096c941b rename properties to match model 2015-05-28 12:25:06 +02:00
Per Ploug 936e31c5df Adds content type names composite Ui
for UI read-only
2015-05-28 10:59:35 +02:00
Mads Rasmussen 5c27a925f2 Remove padding from tabs + make init property background color white 2015-05-28 09:49:28 +02:00
Mads Rasmussen cfe1beec8b Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor 2015-05-27 16:34:23 +02:00
Mads Rasmussen 6221dd206c Change flow when adding properties/data types 2015-05-27 16:33:02 +02:00
Per Ploug b545b76248 Merge tabs based on names 2015-05-27 15:48:40 +02:00
Per Ploug 7a53af95e4 Fixes CT mapping
Should now have the correct properties on each tab according to
inheritance, also includes a content type ID on each tab
2015-05-26 16:43:03 +02:00
Mads Rasmussen 3d0ccc9405 Merge tabs when they have the same name 2015-05-26 13:48:26 +02:00
Shannon Deminick 1a65b85816 fixing naming conventions 2015-05-26 09:36:00 +10:00
Shannon Deminick 3c659cfc7c fixing naming conventions 2015-05-26 09:35:32 +10:00
Shannon Deminick 967654e2bd fixing naming conventions 2015-05-26 09:34:25 +10:00
Shannon Deminick ebaced7ac5 fixing naming conventions 2015-05-26 09:33:46 +10:00
Shannon Deminick 9306e1db64 fixing naming conventions 2015-05-26 09:32:18 +10:00
Shannon Deminick 5075d3446f fixing naming conventions 2015-05-26 09:31:45 +10:00
Per Ploug 963a951242 Added current composite types to model 2015-05-22 12:00:18 +02:00
Mads Rasmussen 098270100c Started on compositions + restyled some elements 2015-05-21 21:35:57 +02:00
Per Ploug 0f01925c4a Fixed less file casing and paths 2015-05-21 07:50:02 +02:00
Per Ploug 1bfe7840a9 Added composite types to the ct mapper 2015-05-20 20:56:51 +02:00
Mads Rasmussen 58c93c899a Added sorting functionality 2015-05-20 14:58:17 +02:00
Mads Rasmussen 6e4f6a7bae Html and styles for toolbar 2015-05-20 10:23:37 +02:00
Mads Rasmussen 2b2ed00298 New tab and placeholder styling 2015-05-20 09:31:40 +02:00
Mads Rasmussen f7e079f0d8 get configured data types, custom editors and systems data types in dialog. Make it possible to select one. 2015-05-19 13:47:48 +02:00
Mads Rasmussen 57127460f9 Added getAllUsersConfigured and getAllUserPropertyEditors as resource 2015-05-19 13:46:38 +02:00
Mads Rasmussen f1dfa28228 Add the last changes from the old branche 2015-05-19 12:31:59 +02:00
Per Ploug b43f0a0986 Fixed up a couple of mapping errors 2015-05-19 11:57:49 +02:00
Shannon b9120698ba Adds more mapping logic for content type mappers, creates unit tests for them, adds some missing required properties that will be needed for editing, adds lots of notes. 2015-05-19 11:17:23 +10:00
Shannon 71c24b7bf3 reverts proj change 2015-05-19 09:01:54 +10:00
Per Ploug 6c218c3ab5 datatype controller methods for ct editor 2015-05-18 20:08:00 +02:00
Per Ploug 0e6b663eed Models for content type display 2015-05-18 20:07:20 +02:00
Per Ploug 65f2b43185 Latest files from mads 2015-05-14 07:39:18 +02:00
Per Ploug ef069e0aa1 Content Type Editor work merged in 2015-05-13 17:12:28 +02:00
Per Ploug ded1ac41e3 Change of web.mvc version hintpath 2015-05-13 16:51:00 +02:00
AussieInSeattle 2276584c90 Update for when first control has settings
Adding style for when first control has settings - it was previously overlapping the "cog" icon above it
2015-03-11 11:52:57 -07:00
AussieInSeattle 05a0846e89 Update grid.controller.js 2015-03-09 11:22:16 -07:00
AussieInSeattle b2947264e1 edit function for settings on a custom grid editor 2015-02-19 15:49:03 -08:00
AussieInSeattle 066927742e Update UI for settings for a custom grid editor 2015-02-19 15:47:11 -08:00
TimoPerplex 4616afced4 Merge pull request #1 from umbraco/dev-v7
Update to latest data
2015-01-19 09:05:18 +01:00
1584 changed files with 62857 additions and 26283 deletions
+2
View File
@@ -76,6 +76,7 @@ src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/umbraco.*
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/routes.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/app.dev.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/loader.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/loader.dev.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/main.js
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/app.js
@@ -130,3 +131,4 @@ src/*.boltdata/
src/umbraco.sln.ide/*
build/UmbracoCms.*/
src/.vs/
src/Umbraco.Web.UI/umbraco/js/install.loader.js
+7 -7
View File
@@ -7,19 +7,19 @@ The easiest way to get started is to run `build/build.bat` which will build both
If you're interested in making changes to Belle make sure to read the [Belle ReadMe file](src/Umbraco.Web.UI.Client/README.md). Note that you can always [download a nightly build](http://nightly.umbraco.org/umbraco%207.0.0/) so you don't have to build the code yourself.
## Watch a five minute introduction video ##
## Watch a introduction video ##
[![ScreenShot](http://umbraco.com/images/whatisumbraco.png)](http://umbraco.org/help-and-support/video-tutorials/getting-started/what-is-umbraco)
[![ScreenShot](http://umbraco.com/images/whatisumbraco.png)](https://umbraco.tv/videos/umbraco-v7/content-editor/basics/introduction/cms-explanation/)
## Umbraco - the simple, flexible and friendly ASP.NET CMS ##
**More than 177,000 sites trust Umbraco**
For the first time on the Microsoft platform a free user and developer friendly CMS that makes it quick and easy to create websites - or a breeze to build complex web applications. Umbraco has award-winning integration capabilities and supports ASP.NET MVC or Web Forms, including User and Custom Controls, out of the box. It's a developers dream and your users will love it too.
For the first time on the Microsoft platform, there is a free user and developer friendly CMS that makes it quick and easy to create websites - or a breeze to build complex web applications. Umbraco has award-winning integration capabilities and supports ASP.NET MVC or Web Forms, including User and Custom Controls, out of the box. It's a developer's dream and your users will love it too.
Used by more than 177,000 active websites including [http://daviscup.com](http://daviscup.com), [http://heinz.com](http://heinz.com), [http://peugeot.com](http://peugeot.com), [http://www.hersheys.com/](http://www.hersheys.com/) and **The Official ASP.NET and IIS.NET website from Microsoft** ([http://asp.net](http://asp.net) / [http://iis.net](http://iis.net)) you can be sure that the technology is proven, stable and scales.
Used by more than 177,000 active websites including [http://daviscup.com](http://daviscup.com), [http://heinz.com](http://heinz.com), [http://peugeot.com](http://peugeot.com), [http://www.hersheys.com/](http://www.hersheys.com/) and **The Official ASP.NET and IIS.NET website from Microsoft** ([http://asp.net](http://asp.net) / [http://iis.net](http://iis.net)), you can be sure that the technology is proven, stable and scales.
To view more examples please visit [http://umbraco.com/why-umbraco/#caseStudies](http://umbraco.com/why-umbraco/#caseStudies)
To view more examples, please visit [http://umbraco.com/why-umbraco/#caseStudies](http://umbraco.com/why-umbraco/#caseStudies)
## Downloading ##
@@ -35,6 +35,6 @@ If you want to contribute back to Umbraco you should check out our [guide to con
## Found a bug? ##
Another way you can contribute to Umbraco is by providing issue reports, for information on how to submit an issue report refer to our [online guide for reporting issues](http://our.umbraco.org/contribute/report-an-issue-or-request-a-feature).
Another way you can contribute to Umbraco is by providing issue reports. For information on how to submit an issue report refer to our [online guide for reporting issues](http://our.umbraco.org/contribute/report-an-issue-or-request-a-feature).
To view existing issues please visit [http://issues.umbraco.org](http://issues.umbraco.org)
To view existing issues, please visit [http://issues.umbraco.org](http://issues.umbraco.org).
-8
View File
@@ -21,14 +21,6 @@ ECHO Building Umbraco %version%
ReplaceIISExpressPortNumber.exe ..\src\Umbraco.Web.UI\Umbraco.Web.UI.csproj %release%
ECHO Installing the Microsoft.Bcl.Build package before anything else, otherwise you'd have to run build.cmd twice
SET nuGetFolder=%CD%\..\src\packages\
..\src\.nuget\NuGet.exe sources Remove -Name MyGetUmbracoCore >NUL
..\src\.nuget\NuGet.exe sources Add -Name MyGetUmbracoCore -Source https://www.myget.org/F/umbracocore/api/v2/ >NUL
..\src\.nuget\NuGet.exe install ..\src\Umbraco.Web.UI\packages.config -OutputDirectory %nuGetFolder% -Verbosity quiet
..\src\.nuget\NuGet.exe install ..\src\umbraco.businesslogic\packages.config -OutputDirectory %nuGetFolder% -Verbosity quiet
..\src\.nuget\NuGet.exe install ..\src\Umbraco.Core\packages.config -OutputDirectory %nuGetFolder% -Verbosity quiet
ECHO Removing the belle build folder and bower_components folder to make sure everything is clean as a whistle
RD ..\src\Umbraco.Web.UI.Client\build /Q /S
RD ..\src\Umbraco.Web.UI.Client\bower_components /Q /S
+2 -2
View File
@@ -175,8 +175,8 @@
<!-- Copy SQL CE -->
<ItemGroup>
<SQLCE4Files
Include="..\src\packages\SqlServerCE.4.0.0.0\**\*.*"
Exclude="..\src\packages\SqlServerCE.4.0.0.0\lib\**\*;..\src\packages\SqlServerCE.4.0.0.0\**\*.nu*"
Include="..\src\packages\SqlServerCE.4.0.0.1\**\*.*"
Exclude="..\src\packages\SqlServerCE.4.0.0.1\lib\**\*;..\src\packages\SqlServerCE.4.0.0.1\**\*.nu*"
/>
</ItemGroup>
+5 -9
View File
@@ -1,4 +1,6 @@
@ECHO OFF
SETLOCAL
SET release=%1
ECHO Installing Npm NuGet Package
@@ -11,12 +13,9 @@ ECHO Current folder: %CD%
for /f "delims=" %%A in ('dir %nuGetFolder%node.js.* /b') do set "nodePath=%nuGetFolder%%%A\"
for /f "delims=" %%A in ('dir %nuGetFolder%npm.js.* /b') do set "npmPath=%nuGetFolder%%%A\tools\"
ECHO Temporarily adding Npm and Node to path
SET oldPath=%PATH%
path=%npmPath%;%nodePath%;%PATH%
ECHO %path%
ECHO Adding Npm and Node to path
REM SETLOCAL is on, so changes to the path not persist to the actual user's path
PATH=%npmPath%;%nodePath%;%PATH%
SET buildFolder=%CD%
@@ -29,8 +28,5 @@ call npm install -g grunt-cli --quiet
call npm install -g bower --quiet
call grunt build --buildversion=%release%
ECHO Reset path to what it was before
path=%oldPath%
ECHO Move back to the build folder
CD %buildFolder%
+5 -6
View File
@@ -1,19 +1,19 @@
@ECHO OFF
SET oldPath=%PATH%
SETLOCAL
REM SETLOCAL is on, so changes to the path not persist to the actual user's path
git.exe 2> NUL
if %ERRORLEVEL%==9009 GOTO :trydefaultpath
GOTO :EOF
:trydefaultpath
path=C:\Program Files (x86)\Git\cmd;%PATH%
path=C:\Program Files (x86)\Git\cmd;C:\Program Files\Git\cmd;%PATH%
git.exe 2> NUL
if %ERRORLEVEL%==9009 GOTO :showerror
GOTO :EOF
:showerror
path=%oldPath%
ECHO Git is not in your path and could not be found in C:\Program Files (x86)\Git\bin
ECHO Git is not in your path and could not be found in C:\Program Files (x86)\Git\cmd nor in C:\Program Files\Git\cmd
set /p install=" Do you want to install Git through Chocolatey [y/n]? " %=%
if %install%==y (
GOTO :installgit
@@ -29,5 +29,4 @@ GOTO :EOF
ECHO Installing Chocolatey first
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
ECHO Installing Git through Chocolatey
choco install git
path=C:\Program Files (x86)\Git\cmd;%path%
choco install git
+26 -27
View File
@@ -15,28 +15,28 @@
<language>en-US</language>
<tags>umbraco</tags>
<dependencies>
<dependency id="Microsoft.AspNet.Mvc" version="[4.0.40804.0,6.0.0)" />
<dependency id="Microsoft.AspNet.Mvc" version="[5.2.3,6.0.0)" />
<dependency id="Microsoft.AspNet.WebApi" version="[5.2.3,6.0.0)" />
<dependency id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="1.0.1" />
<dependency id="Microsoft.Net.Http" version="[2.2.29, 3.0.0)" />
<dependency id="Microsoft.AspNet.Identity.Owin" version="[2.2.1, 3.0.0)" />
<dependency id="Microsoft.Owin.Security.Cookies" version="[3.0.1, 4.0.0)" />
<dependency id="Microsoft.Owin.Security.OAuth" version="[3.0.1, 4.0.0)" />
<dependency id="Microsoft.Owin.Host.SystemWeb" version="[3.0.1, 4.0.0)" />
<dependency id="Microsoft.Owin.Host.SystemWeb" version="[3.0.1, 4.0.0)" />
<dependency id="MiniProfiler" version="[2.1.0, 3.0.0)" />
<dependency id="HtmlAgilityPack" version="[1.4.9, 2.0.0)" />
<dependency id="Lucene.Net" version="[2.9.4.1, 3.0.0.0)" />
<dependency id="SharpZipLib" version="[0.86.0, 1.0.0)" />
<dependency id="MySql.Data" version="[6.9.7, 7.0.0)" />
<dependency id="MySql.Data" version="[6.9.8, 7.0.0)" />
<dependency id="xmlrpcnet" version="[2.5.0, 3.0.0)" />
<dependency id="ClientDependency" version="[1.8.4, 2.0.0)" />
<dependency id="ClientDependency-Mvc" version="[1.8.0, 2.0.0)" />
<dependency id="AutoMapper" version="[3.3.1, 4.0.0)" />
<dependency id="Newtonsoft.Json" version="[6.0.8, 7.0.0)" />
<dependency id="Examine" version="[0.1.66, 1.0.0)" />
<dependency id="ImageProcessor" version="[1.9.5, 3.0.0)" />
<dependency id="ImageProcessor.Web" version="[3.3.1, 5.0.0)" />
<dependency id="ClientDependency-Mvc5" version="[1.8.0, 2.0.0)" />
<dependency id="AutoMapper" version="[3.0.0, 3.1.0)" />
<dependency id="Newtonsoft.Json" version="[6.0.8, 9.0.0)" />
<dependency id="Examine" version="[0.1.68, 1.0.0)" />
<dependency id="ImageProcessor" version="[2.3.3, 3.0.0)" />
<dependency id="ImageProcessor.Web" version="[4.5.3, 5.0.0)" />
<dependency id="semver" version="[1.1.2, 2.0.0)" />
<dependency id="UrlRewritingNet" version="[2.0.7, 3.0.0)" />
<dependency id="Markdown" version="[1.14.4, 2.0.0)" />
</dependencies>
</metadata>
<files>
@@ -71,35 +71,34 @@
<file src="..\_BuildOutput\WebApp\bin\Umbraco.Web.UI.xml" target="lib\Umbraco.Web.UI.xml" />
<file src="..\_BuildOutput\WebApp\bin\UmbracoExamine.dll" target="lib\UmbracoExamine.dll" />
<file src="..\_BuildOutput\WebApp\bin\UmbracoExamine.xml" target="lib\UmbracoExamine.xml" />
<file src="..\_BuildOutput\WebApp\bin\UrlRewritingNet.UrlRewriter.dll" target="lib\UrlRewritingNet.UrlRewriter.dll" />
<file src="tools\install.core.ps1" target="tools\install.ps1" />
<!-- Added to be able to produce a symbols package -->
<file src="..\_BuildOutput\bin\SQLCE4Umbraco.pdb" target="lib" />
<!-- Added to be able to produce a symbols package -->
<file src="..\_BuildOutput\bin\SQLCE4Umbraco.pdb" target="lib" />
<file src="..\..\src\SQLCE4Umbraco\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\SQLCE4Umbraco" />
<file src="..\_BuildOutput\bin\businesslogic.pdb" target="lib" />
<file src="..\_BuildOutput\bin\businesslogic.pdb" target="lib" />
<file src="..\..\src\umbraco.businesslogic\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.businesslogic" />
<file src="..\_BuildOutput\bin\cms.pdb" target="lib" />
<file src="..\_BuildOutput\bin\cms.pdb" target="lib" />
<file src="..\..\src\umbraco.cms\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.cms" />
<file src="..\_BuildOutput\bin\controls.pdb" target="lib" />
<file src="..\_BuildOutput\bin\controls.pdb" target="lib" />
<file src="..\..\src\umbraco.controls\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.controls" />
<file src="..\_BuildOutput\bin\interfaces.pdb" target="lib" />
<file src="..\_BuildOutput\bin\interfaces.pdb" target="lib" />
<file src="..\..\src\umbraco.interfaces\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.interfaces" />
<file src="..\_BuildOutput\bin\Umbraco.Core.pdb" target="lib" />
<file src="..\_BuildOutput\bin\Umbraco.Core.pdb" target="lib" />
<file src="..\..\src\Umbraco.Core\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Core" />
<file src="..\_BuildOutput\bin\umbraco.DataLayer.pdb" target="lib" />
<file src="..\_BuildOutput\bin\umbraco.DataLayer.pdb" target="lib" />
<file src="..\..\src\umbraco.datalayer\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.datalayer" />
<file src="..\_BuildOutput\bin\umbraco.editorControls.pdb" target="lib" />
<file src="..\_BuildOutput\bin\umbraco.editorControls.pdb" target="lib" />
<file src="..\..\src\umbraco.editorControls\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.editorControls" />
<file src="..\_BuildOutput\bin\umbraco.MacroEngines.pdb" target="lib" />
<file src="..\_BuildOutput\bin\umbraco.MacroEngines.pdb" target="lib" />
<file src="..\..\src\umbraco.MacroEngines\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.MacroEngines" />
<file src="..\_BuildOutput\bin\umbraco.providers.pdb" target="lib" />
<file src="..\_BuildOutput\bin\umbraco.providers.pdb" target="lib" />
<file src="..\..\src\umbraco.providers\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.providers" />
<file src="..\_BuildOutput\bin\umbraco.pdb" target="lib" />
<file src="..\_BuildOutput\bin\umbraco.pdb" target="lib" />
<file src="..\..\src\Umbraco.Web\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Web" />
<file src="..\_BuildOutput\bin\Umbraco.Web.UI.pdb" target="lib" />
<file src="..\_BuildOutput\bin\Umbraco.Web.UI.pdb" target="lib" />
<file src="..\..\src\Umbraco.Web.UI\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Web.UI" />
<file src="..\_BuildOutput\bin\UmbracoExamine.pdb" target="lib" />
<file src="..\..\src\UmbracoExamine\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\UmbracoExamine" />
<file src="..\_BuildOutput\bin\UmbracoExamine.pdb" target="lib" />
<file src="..\..\src\UmbracoExamine\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\UmbracoExamine" />
</files>
</package>
+3 -1
View File
@@ -16,7 +16,8 @@
<tags>umbraco</tags>
<dependencies>
<dependency id="UmbracoCms.Core" version="[$version$]" />
<dependency id="Newtonsoft.Json" version="[6.0.5, 7.0.0)" />
<dependency id="Newtonsoft.Json" version="[6.0.8, 9.0.0)" />
<dependency id="Umbraco.ModelsBuilder" version="[3.0.0, 4.0.0)" />
</dependencies>
</metadata>
<files>
@@ -40,6 +41,7 @@
<file src="tools\Dashboard.config.install.xdt" target="Content\config\Dashboard.config.install.xdt" />
<file src="tools\trees.config.install.xdt" target="Content\config\trees.config.install.xdt" />
<file src="tools\umbracoSettings.config.install.xdt" target="Content\config\umbracoSettings.config.install.xdt" />
<file src="tools\Views.Web.config.install.xdt" target="Views\Web.config.install.xdt" />
<file src="build\**" target="build" />
</files>
</package>
+12 -1
View File
@@ -1,6 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CopyUmbracoFilesToWebRootForDeploy" AfterTargets="CopyAllFilesToSingleFolderForMsdeploy">
<PropertyGroup>
<UmbracoFilesFolder>$(MSBuildThisFileDirectory)..\UmbracoFiles\</UmbracoFilesFolder>
</PropertyGroup>
<ItemGroup>
<UmbracoFiles Include="$(UmbracoFilesFolder)**\*" />
</ItemGroup>
<Copy SourceFiles="%(UmbracoFiles.FullPath)" DestinationFiles="$(_PackageTempDir)\%(RecursiveDir)%(Filename)%(Extension)" Condition="!Exists('%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="CopyUmbracoFilesToWebRoot" BeforeTargets="AfterBuild">
<!-- This copies the files listed in `AddUmbracoFilesToOutput` to the webroot during NuGet install and should -->
<!-- not be altered to support automated builds, use `CopyUmbracoFilesToWebRootForDeploy` for that instead -->
<PropertyGroup>
<UmbracoFilesFolder>$(MSBuildThisFileDirectory)..\UmbracoFiles\</UmbracoFilesFolder>
</PropertyGroup>
@@ -47,4 +58,4 @@
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
</Project>
</Project>
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<dashBoard xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<section alias="StartupSettingsDashboardSection" xdt:Locator="Match(alias)">
<section alias="StartupSettingsDashboardSection" xdt:Locator="Match(alias)" xdt:Transform="InsertIfMissing">
<tab caption="Get Started" xdt:Locator="Match(caption)" xdt:Transform="Remove" />
<tab caption="Welcome" xdt:Locator="Match(caption)" xdt:Transform="InsertIfMissing">
<control showOnce="true" addPanel="true" panelCaption="" xdt:Transform="InsertIfMissing">
@@ -20,7 +20,7 @@
</tab>
</section>
<section alias="StartupDeveloperDashboardSection" xdt:Locator="Match(alias)">
<section alias="StartupDeveloperDashboardSection" xdt:Locator="Match(alias)" xdt:Transform="InsertIfMissing">
<tab caption="Get Started" xdt:Locator="Match(caption)" xdt:Transform="Replace">
<control showOnce="true" addPanel="true" panelCaption="">
views/dashboard/developer/developerdashboardvideos.html
@@ -29,7 +29,7 @@
<tab caption="Examine Management" xdt:Locator="Match(caption)" xdt:Transform="Remove" />
</section>
<section alias="StartupDeveloperDashboardSection" xdt:Locator="Match(alias)">
<section alias="StartupDeveloperDashboardSection" xdt:Locator="Match(alias)" xdt:Transform="InsertIfMissing">
<tab caption="Examine Management" xdt:Locator="Match(caption)" xdt:Transform="InsertIfMissing">
<control>
views/dashboard/developer/examinemanagement.html
@@ -39,10 +39,10 @@
<control>
views/dashboard/developer/xmldataintegrityreport.html
</control>
</tab>
</tab>
</section>
<section alias="StartupMediaDashboardSection" xdt:Locator="Match(alias)">
<section alias="StartupMediaDashboardSection" xdt:Locator="Match(alias)" xdt:Transform="InsertIfMissing">
<tab caption="Get Started" xdt:Locator="Match(caption)" xdt:Transform="Remove" />
<tab caption="Content" xdt:Locator="Match(caption)" xdt:Transform="InsertIfMissing" />
<tab caption="Content" xdt:Locator="Match(caption)" xdt:Transform="Replace">
@@ -52,7 +52,7 @@
</tab>
</section>
<section alias="StartupDashboardSection" xdt:Locator="Match(alias)">
<section alias="StartupDashboardSection" xdt:Locator="Match(alias)" xdt:Transform="InsertIfMissing">
<tab caption="Get Started" xdt:Locator="Match(caption)" xdt:Transform="Remove" />
<tab caption="Get Started" xdt:Transform="Insert">
<access>
@@ -62,17 +62,10 @@
views/dashboard/default/startupdashboardintro.html
</control>
</tab>
<tab caption="Change password" xdt:Locator="Match(caption)" xdt:Transform="Remove" />
<tab caption="Change Password" xdt:Locator="Match(caption)" xdt:Transform="Remove" />
<tab caption="Change Password" xdt:Transform="Insert">
<control showOnce="false" addPanel="false" panelCaption="">
views/dashboard/ChangePassword.html
</control>
</tab>
<tab caption="Last Edits" xdt:Locator="Match(caption)" xdt:Transform="Remove" />
</section>
<section alias="StartupMemberDashboardSection" xdt:Locator="Match(alias)">
<section alias="StartupMemberDashboardSection" xdt:Locator="Match(alias)" xdt:Transform="InsertIfMissing">
<tab caption="Get Started" xdt:Locator="Match(caption)" xdt:Transform="Remove" />
<tab caption="Get Started" xdt:Transform="Insert">
<control showOnce="true" addPanel="true" panelCaption="">
@@ -84,4 +77,8 @@
<section alias="uGoLiveDashboardSection" xdt:Locator="Match(alias)" xdt:Transform="Remove" />
<section alias="ExamineManagement" xdt:Locator="Match(alias)" xdt:Transform="Remove" />
<section alias="StartupDashboardSection">
<tab caption="Change Password" xdt:Locator="Match(caption)" xdt:Transform="Remove" />
</section>
</dashBoard>
+1
View File
@@ -10,6 +10,7 @@
Don't forget to build!
When upgrading your website using NuGet you should answer "No" to the questions to overwrite the Web.config
file (and config files in the config folder).
-2
View File
@@ -10,8 +10,6 @@
Don't forget to build!
When upgrading your website using NuGet you should answer "No" to the questions to overwrite the Web.config
file (and config files in the config folder).
We've done our best to transform your configuration files but in case something is not quite right: remember we
backed up your files in App_Data\NuGetBackup so you can find the original files before they were transformed.
@@ -0,0 +1,42 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(name)"
xdt:Transform="SetAttributes(type)">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(name)"
xdt:Transform="SetAttributes(type)" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(name)"
xdt:Transform="SetAttributes(type)" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(factoryType)"
xdt:Transform="SetAttributes(factoryType)" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="Umbraco.Web.PublishedContentModels" xdt:Transform="InsertIfMissing" />
</namespaces>
</pages>
</system.web.webPages.razor>
<system.web>
<pages
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(pageParserFilterType,pageBaseType,userControlBaseType)"
xdt:Transform="SetAttributes(pageParserFilterType,pageBaseType,userControlBaseType)">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc"
xdt:Locator="Match(namespace)"
xdt:Transform="SetAttributes(assembly)" />
</controls>
</pages>
</system.web>
</configuration>
+208 -25
View File
@@ -7,8 +7,8 @@
<section name="ExamineLuceneIndexSets" type="Examine.LuceneEngine.Config.IndexSets, Examine" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="SetAttributes(type,requirePermission)" />
<sectionGroup name="applicationSettings" xdt:Locator="Match(name)">
<section name="umbraco.presentation.Properties.Settings" xdt:Locator="Match(name)" xdt:Transform="Remove" />
</sectionGroup>
<section name="umbraco.presentation.Properties.Settings" xdt:Locator="Match(name)" xdt:Transform="Remove" />
</sectionGroup>
<sectionGroup name="system.web.webPages.razor" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<sectionGroup name="umbracoConfiguration" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing">
<section name="settings" type="Umbraco.Core.Configuration.UmbracoSettings.UmbracoSettingsSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
@@ -21,9 +21,8 @@
<appSettings xdt:Transform="InsertIfMissing" />
<appSettings>
<add key="owin:appStartup" value="UmbracoDefaultOwinStartup" xdt:Locator="Match(key)" xdt:Transform="InsertIfMissing" />
</appSettings>
<appSettings>
<add key="owin:appStartup" value="UmbracoDefaultOwinStartup" xdt:Locator="Match(key)" xdt:Transform="SetAttributes" />
<add key="Umbraco.ModelsBuilder.Enable" value="false" xdt:Locator="Match(key)" xdt:Transform="InsertIfMissing" />
<add key="Umbraco.ModelsBuilder.ModelsMode" value="Nothing" xdt:Locator="Match(key)" xdt:Transform="InsertIfMissing" />
</appSettings>
<umbracoConfiguration xdt:Transform="InsertIfMissing">
@@ -40,7 +39,7 @@
<DbProviderFactories xdt:Transform="InsertIfMissing">
<remove invariant="System.Data.SqlServerCe.4.0" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe" xdt:Locator="Match(invariant)" xdt:Transform="SetAttributes(invariant,description,type)" />
<remove invariant="MySql.Data.MySqlClient" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<remove invariant="MySql.Data.MySqlClient" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<add invariant="MySql.Data.MySqlClient" xdt:Locator="Match(invariant)" xdt:Transform="Remove" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<add invariant="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" xdt:Locator="Match(invariant)" xdt:Transform="SetAttributes(type)" />
@@ -51,6 +50,15 @@
<system.web xdt:Transform="InsertIfMissing" />
<system.web>
<siteMap xdt:Transform="Remove" />
<siteMap xdt:Transform="InsertIfMissing">
<providers xdt:Transform="InsertIfMissing">
<remove name="MySqlSiteMapProvider" xdt:Transform="InsertIfMissing" />
</providers>
</siteMap>
<httpRuntime xdt:Transform="InsertIfMissing" />
<httpRuntime maxRequestLength="51200" fcnMode="Single" xdt:Transform="SetAttributes(fcnMode,maxRequestLength)" />
<httpRuntime targetFramework="4.5" xdt:Locator="Condition(count(@targetFramework) != 1)" xdt:Transform="SetAttributes(targetFramework)" />
<membership defaultProvider="DefaultMembershipProvider" xdt:Locator="Match(defaultProvider)" xdt:Transform="Remove" />
<roleManager defaultProvider="DefaultRoleProvider" xdt:Locator="Match(defaultProvider)" xdt:Transform="Remove"/>
<profile defaultProvider="DefaultProfileProvider" xdt:Locator="Match(defaultProvider)" xdt:Transform="Remove"/>>
@@ -59,9 +67,9 @@
<compilation>
<assemblies xdt:Transform="InsertIfMissing" />
<assemblies>
<add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)"
xdt:Transform="InsertIfMissing" />
<add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
@@ -73,13 +81,171 @@
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Collections.Concurrent, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ComponentModel.Annotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ComponentModel.EventBasedAsync, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Diagnostics.Contracts, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Diagnostics.Debug, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Diagnostics.Tools, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Diagnostics.Tracing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Dynamic.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Globalization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Linq.Expressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Linq.Parallel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Linq.Queryable, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Net.NetworkInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Net.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Net.Requests, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ObjectModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Emit, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Emit.ILGeneration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Emit.Lightweight, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Resources.ResourceManager, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.InteropServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.InteropServices.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Serialization.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Serialization.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Serialization.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Security.Principal, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.Duplex, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.NetTcp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Text.Encoding, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Text.Encoding.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Text.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Threading, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Threading.Tasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Threading.Tasks.Parallel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Xml.ReaderWriter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Xml.XDocument, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Xml.XmlSerializer, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
</assemblies>
</compilation>
<compilation>
<assemblies>
<remove assembly="System.Web.Http" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Net.Http" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Collections" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Collections.Concurrent" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ComponentModel" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ComponentModel.Annotations" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ComponentModel.EventBasedAsync" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Diagnostics.Contracts" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Diagnostics.Debug" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Diagnostics.Tools" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Diagnostics.Tracing" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Dynamic.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Globalization" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.IO" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Linq" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Linq.Expressions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Linq.Parallel" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Linq.Queryable" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Net.NetworkInformation" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Net.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Net.Requests" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ObjectModel" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Emit" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Emit.ILGeneration" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Emit.Lightweight" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Resources.ResourceManager" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.InteropServices" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.InteropServices.WindowsRuntime" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Numerics" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Serialization.Json" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Serialization.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Serialization.Xml" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Security.Principal" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.Duplex" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.Http" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.NetTcp" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.Security" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Text.Encoding" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Text.Encoding.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Text.RegularExpressions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Threading" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Threading.Tasks" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Threading.Tasks.Parallel" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Xml.ReaderWriter" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Xml.XDocument" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Xml.XmlSerializer" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
</assemblies>
</compilation>
<compilation>
<assemblies>
<remove assembly="System.Web.Http" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Net.Http" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Collections" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Collections.Concurrent" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ComponentModel" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ComponentModel.Annotations" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ComponentModel.EventBasedAsync" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Diagnostics.Contracts" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Diagnostics.Debug" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Diagnostics.Tools" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Diagnostics.Tracing" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Dynamic.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Globalization" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.IO" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Linq" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Linq.Expressions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Linq.Parallel" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Linq.Queryable" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Net.NetworkInformation" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Net.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Net.Requests" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ObjectModel" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Emit" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Emit.ILGeneration" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Emit.Lightweight" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Resources.ResourceManager" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.InteropServices" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.InteropServices.WindowsRuntime" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Numerics" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Serialization.Json" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Serialization.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Serialization.Xml" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Security.Principal" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.Duplex" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.Http" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.NetTcp" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.Security" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Text.Encoding" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Text.Encoding.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Text.RegularExpressions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Threading" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Threading.Tasks" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Threading.Tasks.Parallel" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Xml.ReaderWriter" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Xml.XDocument" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Xml.XmlSerializer" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
</assemblies>
</compilation>
@@ -114,6 +280,8 @@
<add name="umbracoRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="viewstateMoverModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="umbracoBaseRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<!-- Note, we're removing the one that starts with a space here, don't correct it -->
<!-- This to fix a quirk we for a lot of releases where we added it with the space by default -->
<add name=" UmbracoModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
</modules>
@@ -132,20 +300,27 @@
<remove name="SpellChecker" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="SpellChecker" xdt:Locator="Match(name)" xdt:Transform="Remove" />
</handlers>
</system.webServer>
<system.codedom xdt:Transform="Remove" />
<security xdt:Transform="InsertIfMissing">
<requestFiltering xdt:Transform="InsertIfMissing">
<requestLimits maxAllowedContentLength="52428800" xdt:Transform="InsertIfMissing" />
</requestFiltering>
</security>
</system.webServer>
<runtime xdt:Transform="InsertIfMissing" />
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" xdt:Transform="InsertIfMissing" />
</runtime>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='HtmlAgilityPack')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Net.Http')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Newtonsoft.Json')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Mvc')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.WebPages.Razor')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Http')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin.Security.OAuth')" xdt:Transform="Remove" />
@@ -157,6 +332,10 @@
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="HtmlAgilityPack" publicKeyToken="bd319b19eaf3b43a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.4.9.0" newVersion="1.4.9.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
@@ -167,29 +346,33 @@
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
@@ -197,19 +380,19 @@
</runtime>
<system.web.webPages.razor xdt:Transform="Remove" />
<location path="umbraco" xdt:Locator="Match(path)" xdt:Transform="InsertIfMissing" />
<location path="umbraco" xdt:Locator="Match(path)">
<system.webServer xdt:Transform="InsertIfMissing">
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" xdt:Transform="SetAttributes(doStaticCompression,doDynamicCompression,dynamicCompressionBeforeCache)" />
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" xdt:Transform="SetAttributes(doStaticCompression,doDynamicCompression,dynamicCompressionBeforeCache)" />
</system.webServer>
</location>
<location path="App_Plugins" xdt:Locator="Match(path)" xdt:Transform="InsertIfMissing" />
<location path="App_Plugins" xdt:Locator="Match(path)">
<system.webServer xdt:Transform="InsertIfMissing">
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" xdt:Transform="SetAttributes(doStaticCompression,doDynamicCompression,dynamicCompressionBeforeCache)" />
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" xdt:Transform="SetAttributes(doStaticCompression,doDynamicCompression,dynamicCompressionBeforeCache)" />
</system.webServer>
</location>
</configuration>
+41 -10
View File
@@ -1,18 +1,30 @@
param($rootPath, $toolsPath, $package, $project)
param($installPath, $toolsPath, $package, $project)
Write-Host "installPath:" "${installPath}"
Write-Host "toolsPath:" "${toolsPath}"
Write-Host " "
if ($project) {
$dateTime = Get-Date -Format yyyyMMdd-HHmmss
$backupPath = Join-Path (Split-Path $project.FullName -Parent) "\App_Data\NuGetBackup\$dateTime"
# Create paths and list them
$projectPath = (Get-Item $project.Properties.Item("FullPath").Value).FullName
Write-Host "projectPath:" "${projectPath}"
$backupPath = Join-Path $projectPath "App_Data\NuGetBackup\$dateTime"
Write-Host "backupPath:" "${backupPath}"
$copyLogsPath = Join-Path $backupPath "CopyLogs"
$projectDestinationPath = Split-Path $project.FullName -Parent
Write-Host "copyLogsPath:" "${copyLogsPath}"
$umbracoBinFolder = Join-Path $projectPath "bin"
Write-Host "umbracoBinFolder:" "${umbracoBinFolder}"
# Create backup folder and logs folder if it doesn't exist yet
New-Item -ItemType Directory -Force -Path $backupPath
New-Item -ItemType Directory -Force -Path $copyLogsPath
# After backing up, remove all umbraco dlls from bin folder in case dll files are included in the VS project
# See: http://issues.umbraco.org/issue/U4-4930
$umbracoBinFolder = Join-Path $projectDestinationPath "bin"
if(Test-Path $umbracoBinFolder) {
$umbracoBinBackupPath = Join-Path $backupPath "bin"
@@ -20,7 +32,7 @@ if ($project) {
robocopy $umbracoBinFolder $umbracoBinBackupPath /e /LOG:$copyLogsPath\UmbracoBinBackup.log
# Delete files Umbraco brings in
# Delete files Umbraco ships with
if(Test-Path $umbracoBinFolder\businesslogic.dll) { Remove-Item $umbracoBinFolder\businesslogic.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\cms.dll) { Remove-Item $umbracoBinFolder\cms.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\controls.dll) { Remove-Item $umbracoBinFolder\controls.dll -Force -Confirm:$false }
@@ -36,16 +48,18 @@ if ($project) {
if(Test-Path $umbracoBinFolder\umbraco.DataLayer.dll) { Remove-Item $umbracoBinFolder\umbraco.DataLayer.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\umbraco.editorControls.dll) { Remove-Item $umbracoBinFolder\umbraco.editorControls.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\umbraco.MacroEngines.dll) { Remove-Item $umbracoBinFolder\umbraco.MacroEngines.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.ModelsBuilder.dll) { Remove-Item $umbracoBinFolder\Umbraco.ModelsBuilder.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.ModelsBuilder.AspNet.dll) { Remove-Item $umbracoBinFolder\Umbraco.ModelsBuilder.AspNet.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\umbraco.providers.dll) { Remove-Item $umbracoBinFolder\umbraco.providers.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.Web.UI.dll) { Remove-Item $umbracoBinFolder\Umbraco.Web.UI.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\UmbracoExamine.dll) { Remove-Item $umbracoBinFolder\UmbracoExamine.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\UrlRewritingNet.UrlRewriter.dll) { Remove-Item $umbracoBinFolder\UrlRewritingNet.UrlRewriter.dll -Force -Confirm:$false }
# Delete files Umbraco depends upon
$amd64Folder = Join-Path $projectDestinationPath "bin\amd64"
$amd64Folder = Join-Path $umbracoBinFolder "amd64"
if(Test-Path $amd64Folder) { Remove-Item $amd64Folder -Force -Recurse -Confirm:$false }
$x86Folder = Join-Path $projectDestinationPath "bin\x86"
if(Test-Path $x86Folder) { Remove-Item $x86Folder -Force -Recurse -Confirm:$false }
$x86Folder = Join-Path $umbracoBinFolder "x86"
if(Test-Path $x86Folder) { Remove-Item $x86Folder -Force -Recurse -Confirm:$false }
if(Test-Path $umbracoBinFolder\AutoMapper.dll) { Remove-Item $umbracoBinFolder\AutoMapper.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\AutoMapper.Net4.dll) { Remove-Item $umbracoBinFolder\AutoMapper.Net4.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\ClientDependency.Core.dll) { Remove-Item $umbracoBinFolder\ClientDependency.Core.dll -Force -Confirm:$false }
@@ -57,18 +71,35 @@ if ($project) {
if(Test-Path $umbracoBinFolder\ImageProcessor.dll) { Remove-Item $umbracoBinFolder\ImageProcessor.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\ImageProcessor.Web.dll) { Remove-Item $umbracoBinFolder\ImageProcessor.Web.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Lucene.Net.dll) { Remove-Item $umbracoBinFolder\Lucene.Net.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.AspNet.Identity.Core.dll) { Remove-Item $umbracoBinFolder\Microsoft.AspNet.Identity.Core.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.AspNet.Identity.Owin.dll) { Remove-Item $umbracoBinFolder\Microsoft.AspNet.Identity.Owin.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.CodeAnalysis.CSharp.dll) { Remove-Item $umbracoBinFolder\Microsoft.CodeAnalysis.CSharp.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.CodeAnalysis.dll) { Remove-Item $umbracoBinFolder\Microsoft.CodeAnalysis.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.Owin.dll) { Remove-Item $umbracoBinFolder\Microsoft.Owin.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.Owin.Host.SystemWeb.dll) { Remove-Item $umbracoBinFolder\Microsoft.Owin.Host.SystemWeb.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.Owin.Security.dll) { Remove-Item $umbracoBinFolder\Microsoft.Owin.Security.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.Owin.Security.Cookies.dll) { Remove-Item $umbracoBinFolder\Microsoft.Owin.Security.Cookies.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.Owin.Security.OAuth.dll) { Remove-Item $umbracoBinFolder\Microsoft.Owin.Security.OAuth.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.Web.Infrastructure.dll) { Remove-Item $umbracoBinFolder\Microsoft.Web.Infrastructure.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.Web.Helpers.dll) { Remove-Item $umbracoBinFolder\Microsoft.Web.Helpers.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.Web.Mvc.FixedDisplayModes.dll) { Remove-Item $umbracoBinFolder\Microsoft.Web.Mvc.FixedDisplayModes.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\MiniProfiler.dll) { Remove-Item $umbracoBinFolder\MiniProfiler.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\MySql.Data.dll) { Remove-Item $umbracoBinFolder\MySql.Data.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Newtonsoft.Json.dll) { Remove-Item $umbracoBinFolder\Newtonsoft.Json.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Owin.dll) { Remove-Item $umbracoBinFolder\Owin.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Semver.dll) { Remove-Item $umbracoBinFolder\Semver.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Collections.Immutable.dll) { Remove-Item $umbracoBinFolder\System.Collections.Immutable.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Reflection.Metadata.dll) { Remove-Item $umbracoBinFolder\System.Reflection.Metadata.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Net.Http.Extensions.dll) { Remove-Item $umbracoBinFolder\System.Net.Http.Extensions.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Net.Http.Formatting.dll) { Remove-Item $umbracoBinFolder\System.Net.Http.Formatting.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Net.Http.Primitives.dll) { Remove-Item $umbracoBinFolder\System.Net.Http.Primitives.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.Helpers.dll) { Remove-Item $umbracoBinFolder\System.Web.Helpers.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.Http.dll) { Remove-Item $umbracoBinFolder\System.Web.Http.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.Http.WebHost.dll) { Remove-Item $umbracoBinFolder\System.Web.Http.WebHost.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.Mvc.dll) { Remove-Item $umbracoBinFolder\System.Web.Mvc.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.Razor.dll) { Remove-Item $umbracoBinFolder\System.Web.Razor.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.WebPages.dll) { Remove-Item $umbracoBinFolder\System.Web.WebPages.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.WebPages.Deployment.dll) { Remove-Item $umbracoBinFolder\System.Web.WebPages.Deployment.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.WebPages.Razor.dll) { Remove-Item $umbracoBinFolder\System.Web.WebPages.Razor.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.WebPages.Razor.dll) { Remove-Item $umbracoBinFolder\System.Web.WebPages.Razor.dll -Force -Confirm:$false }
}
}
+35 -31
View File
@@ -1,21 +1,33 @@
param($rootPath, $toolsPath, $package, $project)
param($installPath, $toolsPath, $package, $project)
Write-Host "installPath:" "${installPath}"
Write-Host "toolsPath:" "${toolsPath}"
Write-Host " "
if ($project) {
$dateTime = Get-Date -Format yyyyMMdd-HHmmss
$backupPath = Join-Path (Split-Path $project.FullName -Parent) "\App_Data\NuGetBackup\$dateTime"
# Create paths and list them
$projectPath = (Get-Item $project.Properties.Item("FullPath").Value).FullName
Write-Host "projectPath:" "${projectPath}"
$backupPath = Join-Path $projectPath "App_Data\NuGetBackup\$dateTime"
Write-Host "backupPath:" "${backupPath}"
$copyLogsPath = Join-Path $backupPath "CopyLogs"
$projectDestinationPath = Split-Path $project.FullName -Parent
Write-Host "copyLogsPath:" "${copyLogsPath}"
$webConfigSource = Join-Path $projectPath "Web.config"
Write-Host "webConfigSource:" "${webConfigSource}"
$configFolder = Join-Path $projectPath "Config"
Write-Host "configFolder:" "${configFolder}"
# Create backup folder and logs folder if it doesn't exist yet
New-Item -ItemType Directory -Force -Path $backupPath
New-Item -ItemType Directory -Force -Path $copyLogsPath
# Create a backup of original web.config
$webConfigSource = Join-Path $projectDestinationPath "Web.config"
Copy-Item $webConfigSource $backupPath -Force
# Backup config files folder
$configFolder = Join-Path $projectDestinationPath "Config"
# Backup config files folder
if(Test-Path $configFolder) {
$umbracoBackupPath = Join-Path $backupPath "Config"
New-Item -ItemType Directory -Force -Path $umbracoBackupPath
@@ -24,32 +36,24 @@ if ($project) {
}
# Copy umbraco and umbraco_files from package to project folder
# This is only done when these folders already exist because we
# only want to do this for upgrades
$umbracoFolder = Join-Path $projectDestinationPath "Umbraco"
if(Test-Path $umbracoFolder) {
$umbracoFolderSource = Join-Path $rootPath "UmbracoFiles\Umbraco"
$umbracoBackupPath = Join-Path $backupPath "Umbraco"
New-Item -ItemType Directory -Force -Path $umbracoBackupPath
robocopy $umbracoFolder $umbracoBackupPath /e /LOG:$copyLogsPath\UmbracoBackup.log
robocopy $umbracoFolderSource $umbracoFolder /is /it /e /xf UI.xml /LOG:$copyLogsPath\UmbracoCopy.log
}
$umbracoFolder = Join-Path $projectPath "Umbraco"
New-Item -ItemType Directory -Force -Path $umbracoFolder
$umbracoFolderSource = Join-Path $installPath "UmbracoFiles\Umbraco"
$umbracoBackupPath = Join-Path $backupPath "Umbraco"
New-Item -ItemType Directory -Force -Path $umbracoBackupPath
robocopy $umbracoFolder $umbracoBackupPath /e /LOG:$copyLogsPath\UmbracoBackup.log
robocopy $umbracoFolderSource $umbracoFolder /is /it /e /xf UI.xml /LOG:$copyLogsPath\UmbracoCopy.log
$umbracoClientFolder = Join-Path $projectDestinationPath "Umbraco_Client"
if(Test-Path $umbracoClientFolder) {
$umbracoClientFolderSource = Join-Path $rootPath "UmbracoFiles\Umbraco_Client"
$umbracoClientBackupPath = Join-Path $backupPath "Umbraco_Client"
New-Item -ItemType Directory -Force -Path $umbracoClientBackupPath
robocopy $umbracoClientFolder $umbracoClientBackupPath /e /LOG:$copyLogsPath\UmbracoClientBackup.log
robocopy $umbracoClientFolderSource $umbracoClientFolder /is /it /e /LOG:$copyLogsPath\UmbracoClientCopy.log
}
$umbracoClientFolder = Join-Path $projectPath "Umbraco_Client"
New-Item -ItemType Directory -Force -Path $umbracoClientFolder
$umbracoClientFolderSource = Join-Path $installPath "UmbracoFiles\Umbraco_Client"
$umbracoClientBackupPath = Join-Path $backupPath "Umbraco_Client"
New-Item -ItemType Directory -Force -Path $umbracoClientBackupPath
robocopy $umbracoClientFolder $umbracoClientBackupPath /e /LOG:$copyLogsPath\UmbracoClientBackup.log
robocopy $umbracoClientFolderSource $umbracoClientFolder /is /it /e /LOG:$copyLogsPath\UmbracoClientCopy.log
$copyWebconfig = $true
$destinationWebConfig = Join-Path $projectDestinationPath "Web.config"
$destinationWebConfig = Join-Path $projectPath "Web.config"
if(Test-Path $destinationWebConfig)
{
@@ -71,11 +75,11 @@ if ($project) {
if($copyWebconfig -eq $true)
{
$packageWebConfigSource = Join-Path $rootPath "UmbracoFiles\Web.config"
$packageWebConfigSource = Join-Path $installPath "UmbracoFiles\Web.config"
Copy-Item $packageWebConfigSource $destinationWebConfig -Force
}
$installFolder = Join-Path $projectDestinationPath "Install"
$installFolder = Join-Path $projectPath "Install"
if(Test-Path $installFolder) {
Remove-Item $installFolder -Force -Recurse -Confirm:$false
}
+124 -33
View File
@@ -1,36 +1,127 @@
<?xml version="1.0"?>
<trees xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<add initialize="true" sortOrder="0" alias="content" application="content" title="Content" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.ContentTreeController, umbraco" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add alias="content" xdt:Locator="Match(alias)" xdt:Transform="RemoveAttributes(silent)" />
<add initialize="false" sortOrder="0" alias="contentRecycleBin" application="content" title="Recycle Bin" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.cms.presentation.Trees.ContentRecycleBin, umbraco" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add initialize="true" sortOrder="0" alias="media" application="media" title="Media" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.MediaTreeController, umbraco" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add initialize="false" sortOrder="0" alias="mediaRecycleBin" application="media" title="Recycle Bin" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.cms.presentation.Trees.MediaRecycleBin, umbraco" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="settings" alias="stylesheets" title="Stylesheets" type="umbraco.loadStylesheets, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="0" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="settings" alias="stylesheetProperty" title="Stylesheet Property" type="umbraco.loadStylesheetProperty, umbraco" iconClosed="" iconOpen="" initialize="false" sortOrder="0" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="settings" alias="templates" title="Templates" type="Umbraco.Web.Trees.TemplatesTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder-open" sortOrder="1" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="settings" alias="partialViews" title="Partial Views" silent="false" initialize="true" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.PartialViewsTree, umbraco" sortOrder="2" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="settings" alias="scripts" title="Scripts" type="umbraco.loadScripts, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="3" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="settings" alias="dictionary" title="Dictionary" type="umbraco.loadDictionary, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add alias="dictionary" xdt:Locator="Match(alias)" xdt:Transform="RemoveAttributes(action)" />
<add application="settings" alias="languages" title="Languages" type="Umbraco.Web.Trees.LanguageTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder-open" sortOrder="5" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="settings" alias="mediaTypes" title="Media Types" type="umbraco.loadMediaTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="6" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="settings" alias="nodeTypes" title="Document Types" type="umbraco.loadNodeTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="7" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add initialize="true" sortOrder="0" alias="datatype" application="developer" title="Data Types" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.DataTypeTreeController, umbraco" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="developer" alias="macros" title="Macros" type="umbraco.loadMacros, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="developer" alias="packager" title="Packages" type="umbraco.loadPackager, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="3" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="developer" alias="packagerPackages" title="Packager Packages" type="umbraco.loadPackages, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" initialize="false" sortOrder="3" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="developer" alias="relationTypes" title="Relation Types" type="umbraco.loadRelationTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="developer" alias="xslt" title="XSLT Files" type="umbraco.loadXslt, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="5" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="developer" alias="partialViewMacros" type="Umbraco.Web.Trees.PartialViewMacrosTree, umbraco" silent="false" initialize="true" sortOrder="6" title="Partial View Macro Files" iconClosed="icon-folder" iconOpen="icon-folder" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="users" alias="users" title="Users" type="umbraco.loadUsers, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="0" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="users" alias="userTypes" title="User Types" type="umbraco.cms.presentation.Trees.UserTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="1" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="users" alias="userPermissions" title="User Permissions" type="umbraco.cms.presentation.Trees.UserPermissions, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add initialize="true" sortOrder="0" alias="member" application="member" title="Members" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MemberTreeController, umbraco" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="member" alias="memberGroup" title="Member Groups" type="umbraco.loadMemberGroups, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="1" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add application="member" alias="memberType" title="Member Types" type="umbraco.loadMemberTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add silent="false" initialize="true" sortOrder="1" alias="openTasks" application="translation" title="Tasks assigned to you" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.loadOpenTasks, umbraco" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add alias="openTasks" xdt:Locator="Match(alias)" xdt:Transform="RemoveAttributes(action)" />
<add silent="false" initialize="true" sortOrder="2" alias="yourTasks" application="translation" title="Tasks created by you" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.loadYourTasks, umbraco" xdt:Locator="Match(alias)" xdt:Transform="SetAttributes()" />
<add alias="yourTasks" xdt:Locator="Match(alias)" xdt:Transform="RemoveAttributes(action)" />
<add application="developer" alias="python" xdt:Locator="Match(alias)" xdt:Transform="Remove" />
<!--Content-->
<add alias="content" application="content"
xdt:Locator="Match(application,alias)"
xdt:Transform="RemoveAttributes(silent)" />
<add initialize="false" sortOrder="0" alias="contentRecycleBin" application="content" title="Recycle Bin" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.cms.presentation.Trees.ContentRecycleBin, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add initialize="true" sortOrder="0" alias="content" application="content" title="Content" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.ContentTreeController, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<!--Media-->
<add initialize="true" sortOrder="0" alias="media" application="media" title="Media" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.MediaTreeController, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add initialize="false" sortOrder="0" alias="mediaRecycleBin" application="media" title="Recycle Bin" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.cms.presentation.Trees.MediaRecycleBin, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<!--Settings-->
<add application="settings" alias="nodeTypes"
xdt:Locator="Match(application,alias)"
xdt:Transform="Remove" />
<add initialize="true" sortOrder="0" alias="documentTypes" application="settings" title="Document Types" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.ContentTypeTreeController, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="InsertIfMissing" />
<add application="settings" alias="stylesheets" title="Stylesheets" type="umbraco.loadStylesheets, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="3"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="settings" alias="stylesheetProperty" title="Stylesheet Property" type="umbraco.loadStylesheetProperty, umbraco" iconClosed="" iconOpen="" initialize="false" sortOrder="0"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="settings" alias="templates" title="Templates" type="Umbraco.Web.Trees.TemplatesTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder-open" sortOrder="1"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="settings" alias="partialViews" title="Partial Views" silent="false" initialize="true" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.PartialViewsTree, umbraco" sortOrder="2"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="settings" alias="scripts" title="Scripts" type="umbraco.loadScripts, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="settings" alias="dictionary" title="Dictionary" type="umbraco.loadDictionary, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="6"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add alias="dictionary" application="settings"
xdt:Locator="Match(application,alias)"
xdt:Transform="RemoveAttributes(action)" />
<add application="settings" alias="languages" title="Languages" type="Umbraco.Web.Trees.LanguageTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder-open" sortOrder="5"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="settings" initialize="true" alias="mediaTypes" title="Media Types" type="Umbraco.Web.Trees.MediaTypeTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder-open" sortOrder="7"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<!--Developer-->
<add alias="datatype" application="developer"
xdt:Locator="Match(application,alias)"
xdt:Transform="Remove" />
<add initialize="true" sortOrder="0" alias="datatypes" application="developer" title="Data Types" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.DataTypeTreeController, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="InsertIfMissing" />
<add application="developer" alias="macros" title="Macros" type="umbraco.loadMacros, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="developer" alias="packager" title="Packages" type="umbraco.loadPackager, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="3"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="developer" alias="packagerPackages" title="Packager Packages" type="umbraco.loadPackages, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" initialize="false" sortOrder="3"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="developer" alias="relationTypes" title="Relation Types" type="umbraco.loadRelationTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="developer" alias="xslt" title="XSLT Files" type="umbraco.loadXslt, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="5"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="developer" alias="partialViewMacros" type="Umbraco.Web.Trees.PartialViewMacrosTree, umbraco" silent="false" initialize="true" sortOrder="6" title="Partial View Macro Files" iconClosed="icon-folder" iconOpen="icon-folder"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="developer" alias="python"
xdt:Locator="Match(application,alias)"
xdt:Transform="Remove" />
<!--Users-->
<add application="users" alias="users" title="Users" type="umbraco.loadUsers, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="0"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="users" alias="userTypes" title="User Types" type="umbraco.cms.presentation.Trees.UserTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="1"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="users" alias="userPermissions" title="User Permissions" type="umbraco.cms.presentation.Trees.UserPermissions, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<!--Members-->
<add initialize="true" sortOrder="0" alias="member" application="member" title="Members" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MemberTreeController, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="member" alias="memberGroup"
xdt:Locator="Match(application,alias)"
xdt:Transform="Remove" />
<add application="member" sortOrder="2" alias="memberGroups" title="Member Groups" type="umbraco.loadMemberGroups, umbraco" iconClosed="icon-folder" iconOpen="icon-folder"
xdt:Locator="Match(application,alias)"
xdt:Transform="InsertIfMissing" />
<add application="member" alias="memberType"
xdt:Locator="Match(application,alias)"
xdt:Transform="Remove" />
<add application="member" sortOrder="1" alias="memberTypes" initialize="true" title="Member Types" type="Umbraco.Web.Trees.MemberTypeTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder-open"
xdt:Locator="Match(application,alias)"
xdt:Transform="InsertIfMissing" />
<!--Translation-->
<add silent="false" initialize="true" sortOrder="1" alias="openTasks" application="translation" title="Tasks assigned to you" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.loadOpenTasks, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add alias="openTasks" application="translation"
xdt:Locator="Match(application,alias)"
xdt:Transform="RemoveAttributes(action)" />
<add silent="false" initialize="true" sortOrder="2" alias="yourTasks" application="translation" title="Tasks created by you" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.loadYourTasks, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add alias="yourTasks" application="translation"
xdt:Locator="Match(application,alias)"
xdt:Transform="RemoveAttributes(action)" />
</trees>
+3 -4
View File
@@ -45,9 +45,6 @@ del ..\src\Umbraco.Web.UI\UserControls\*.*
echo Removing masterpage files
del ..\src\Umbraco.Web.UI\masterpages\*.*
echo Removing view files
del ..\src\Umbraco.Web.UI\Views\*.*
echo Removing razor files
del ..\src\Umbraco.Web.UI\macroScripts\*.*
@@ -104,7 +101,9 @@ echo Removing user control files
FOR %%A IN (..\src\Umbraco.Web.UI\usercontrols\*.*) DO DEL %%A
echo Removing view files
FOR %%A IN (..\src\Umbraco.Web.UI\Views\*.*) DO DEL %%A
ATTRIB +H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S
FOR %%A IN (..\src\Umbraco.Web.UI\Views\) DO DEL /Q /S *.cshtml -H
ATTRIB -H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S
echo Removing razor files
FOR %%A IN (..\src\Umbraco.Web.UI\macroScripts\*.*) DO DEL %%A
+6 -4
View File
@@ -54,9 +54,6 @@ del ..\src\Umbraco.Web.UI\UserControls\*.*
echo Removing masterpage files
del ..\src\Umbraco.Web.UI\masterpages\*.*
echo Removing view files
del ..\src\Umbraco.Web.UI\Views\*.*
echo Removing razor files
del ..\src\Umbraco.Web.UI\macroScripts\*.*
@@ -122,7 +119,9 @@ echo Removing user control files
FOR %%A IN (..\src\Umbraco.Web.UI\usercontrols\*.*) DO DEL %%A
echo Removing view files
FOR %%A IN (..\src\Umbraco.Web.UI\Views\*.*) DO DEL %%A
ATTRIB +H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S
FOR %%A IN (..\src\Umbraco.Web.UI\Views\) DO DEL /Q /S *.cshtml -H
ATTRIB -H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S
echo Removing razor files
FOR %%A IN (..\src\Umbraco.Web.UI\macroScripts\*.*) DO DEL %%A
@@ -151,6 +150,9 @@ rmdir "..\src\Umbraco.Web.UI\usercontrols\umbracoContour\" /S /Q
echo Start with a clean web.config
copy ..\src\Umbraco.Web.UI\web.Template.config ..\src\Umbraco.Web.UI\web.config /Y
echo Start with a clean web.config
copy ..\src\Umbraco.Web.UI\web.Template.config ..\src\Umbraco.Web.UI\web.config /Y
echo "Umbraco install reverted to clean install"
pause
exit
+1 -2
View File
@@ -1,3 +1,2 @@
# Usage: on line 2 put the release version, on line 3 put the version comment (example: beta)
7.3.0
beta2
7.4.1
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
<add key="umbracocore" value="http://www.myget.org/f/umbracocore/" />
</packageSources>
</configuration>
+8 -6
View File
@@ -47,13 +47,15 @@
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\SqlServerCE.4.0.0.0\lib\System.Data.SqlServerCe.dll</HintPath>
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\SqlServerCE.4.0.0.1\lib\System.Data.SqlServerCe.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\SqlServerCE.4.0.0.0\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\SqlServerCE.4.0.0.1\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
+1 -1
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SqlServerCE" version="4.0.0.0" targetFramework="net40" />
<package id="SqlServerCE" version="4.0.0.1" targetFramework="net45" />
</packages>
+3 -3
View File
@@ -2,7 +2,7 @@
using System.Resources;
[assembly: AssemblyCompany("Umbraco")]
[assembly: AssemblyCopyright("Copyright © Umbraco 2015")]
[assembly: AssemblyCopyright("Copyright © Umbraco 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -11,5 +11,5 @@ using System.Resources;
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("7.3.0")]
[assembly: AssemblyInformationalVersion("7.3.0-beta2")]
[assembly: AssemblyFileVersion("7.4.1")]
[assembly: AssemblyInformationalVersion("7.4.1")]
+1 -1
View File
@@ -11,7 +11,7 @@ namespace Umbraco.Core
/// <summary>
/// A resolver to return all IAction objects
/// </summary>
internal sealed class ActionsResolver : LazyManyObjectsResolverBase<ActionsResolver, IAction>
public sealed class ActionsResolver : LazyManyObjectsResolverBase<ActionsResolver, IAction>
{
/// <summary>
/// Constructor
+19 -15
View File
@@ -2,6 +2,7 @@
using System.Configuration;
using System.Threading;
using System.Threading.Tasks;
using System.Web;
using Umbraco.Core.Configuration;
using Umbraco.Core.Logging;
using Umbraco.Core.ObjectResolution;
@@ -259,22 +260,13 @@ namespace Umbraco.Core
{
get
{
// if initialized, return
if (_umbracoApplicationUrl != null) return _umbracoApplicationUrl;
// try settings
ServerEnvironmentHelper.TrySetApplicationUrlFromSettings(this, ProfilingLogger.Logger, UmbracoConfig.For.UmbracoSettings());
// and return what we have, may be null
ApplicationUrlHelper.EnsureApplicationUrl(this);
return _umbracoApplicationUrl;
}
set
{
_umbracoApplicationUrl = value;
}
}
internal string _umbracoApplicationUrl; // internal for tests
// ReSharper disable once InconsistentNaming
internal string _umbracoApplicationUrl;
private Lazy<bool> _configured;
internal MainDom MainDom { get; private set; }
@@ -291,7 +283,12 @@ namespace Umbraco.Core
{
var configStatus = ConfigurationStatus;
var currentVersion = UmbracoVersion.GetSemanticVersion();
var ok = configStatus == currentVersion;
var ok =
//we are not configured if this is null
string.IsNullOrWhiteSpace(configStatus) == false
//they must match
&& configStatus == currentVersion;
if (ok)
{
@@ -316,8 +313,9 @@ namespace Umbraco.Core
return ok;
}
catch
catch (Exception ex)
{
LogHelper.Error<ApplicationContext>("Error determining if application is configured, returning false", ex);
return false;
}
@@ -379,6 +377,11 @@ namespace Umbraco.Core
internal set { _services = value; }
}
internal ServerRole GetCurrentServerRole()
{
var registrar = ServerRegistrarResolver.Current.Registrar as IServerRegistrar2;
return registrar == null ? ServerRole.Unknown : registrar.GetCurrentServerRole();
}
private volatile bool _disposed;
private readonly ReaderWriterLockSlim _disposalLocker = new ReaderWriterLockSlim();
@@ -403,7 +406,8 @@ namespace Umbraco.Core
//clear the cache
if (ApplicationCache != null)
{
ApplicationCache.ClearAllCache();
ApplicationCache.RuntimeCache.ClearAllCache();
ApplicationCache.IsolatedRuntimeCache.ClearAllCaches();
}
//reset all resolvers
ResolverCollection.ResetAll();
+28 -10
View File
@@ -1,5 +1,6 @@
using System;
using System.Runtime.ConstrainedExecution;
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
@@ -117,38 +118,55 @@ namespace Umbraco.Core
private class NamedSemaphoreReleaser : CriticalFinalizerObject, IDisposable
{
private readonly Semaphore _semaphore;
private GCHandle _handle;
internal NamedSemaphoreReleaser(Semaphore semaphore)
{
_semaphore = semaphore;
_handle = GCHandle.Alloc(_semaphore);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
GC.SuppressFinalize(this); // finalize will not run
}
private void Dispose(bool disposing)
{
// critical
_handle.Free();
_semaphore.Release();
_semaphore.Dispose();
}
// we WANT to release the semaphore because it's a system object
// ie a critical non-managed resource - so we inherit from CriticalFinalizerObject
// which means that the finalizer "should" run in all situations
// we WANT to release the semaphore because it's a system object, ie a critical
// non-managed resource - and if it is not released then noone else can acquire
// the lock - so we inherit from CriticalFinalizerObject which means that the
// finalizer "should" run in all situations - there is always a chance that it
// does not run and the semaphore remains "acquired" but then chances are the
// whole process (w3wp.exe...) is going down, at which point the semaphore will
// be destroyed by Windows.
// however... that can fail with System.ObjectDisposedException because the
// underlying handle was closed... because we cannot guarantee that the semaphore
// is not gone already... unless we get a GCHandle = GCHandle.Alloc(_semaphore);
// which should keep it around and then we free the handle?
// however, the semaphore is a managed object, and so when the finalizer runs it
// might have been finalized already, and then we get a, ObjectDisposedException
// in the finalizer - which is bad.
// so... I'm not sure this is safe really...
// in order to prevent this we do two things
// - use a GCHandler to ensure the semaphore is still there when the finalizer
// runs, so we can actually release it
// - wrap the finalizer code in a try...catch to make sure it never throws
~NamedSemaphoreReleaser()
{
Dispose(false);
try
{
Dispose(false);
}
catch
{
// we do NOT want the finalizer to throw - never ever
}
}
}
+29 -2
View File
@@ -1,8 +1,9 @@
using System;
using System.ComponentModel;
using Umbraco.Core.CodeAnnotations;
namespace Umbraco.Core.Cache
{
/// <summary>
/// Constants storing cache keys used in caching
/// </summary>
@@ -12,52 +13,78 @@ namespace Umbraco.Core.Cache
public const string ApplicationsCacheKey = "ApplicationCache";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string UserTypeCacheKey = "UserTypeCache";
[Obsolete("This is no longer used and will be removed from the codebase in the future - it is referenced but no cache is stored against this key")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string ContentItemCacheKey = "contentItem";
[UmbracoWillObsolete("This cache key is only used for the legacy 'library' caching, remove in v8")]
public const string MediaCacheKey = "UL_GetMedia";
public const string MacroXsltCacheKey = "macroXslt_";
[UmbracoWillObsolete("This cache key is only used for legacy business logic caching, remove in v8")]
public const string MacroCacheKey = "UmbracoMacroCache";
public const string MacroHtmlCacheKey = "macroHtml_";
public const string MacroControlCacheKey = "macroControl_";
public const string MacroHtmlDateAddedCacheKey = "macroHtml_DateAdded_";
public const string MacroControlDateAddedCacheKey = "macroControl_DateAdded_";
[UmbracoWillObsolete("This cache key is only used for legacy 'library' member caching, remove in v8")]
public const string MemberLibraryCacheKey = "UL_GetMember";
[UmbracoWillObsolete("This cache key is only used for legacy business logic caching, remove in v8")]
public const string MemberBusinessLogicCacheKey = "MemberCacheItem_";
[UmbracoWillObsolete("This cache key is only used for legacy template business logic caching, remove in v8")]
public const string TemplateFrontEndCacheKey = "template";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string TemplateBusinessLogicCacheKey = "UmbracoTemplateCache";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string UserContextCacheKey = "UmbracoUserContext";
public const string UserContextTimeoutCacheKey = "UmbracoUserContextTimeout";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string UserCacheKey = "UmbracoUser";
public const string UserPermissionsCacheKey = "UmbracoUserPermissions";
[UmbracoWillObsolete("This cache key is only used for legacy business logic caching, remove in v8")]
public const string ContentTypeCacheKey = "UmbracoContentType";
[UmbracoWillObsolete("This cache key is only used for legacy business logic caching, remove in v8")]
public const string ContentTypePropertiesCacheKey = "ContentType_PropertyTypes_Content:";
[UmbracoWillObsolete("This cache key is only used for legacy business logic caching, remove in v8")]
public const string PropertyTypeCacheKey = "UmbracoPropertyTypeCache";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string LanguageCacheKey = "UmbracoLanguageCache";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string DomainCacheKey = "UmbracoDomainList";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string StylesheetCacheKey = "UmbracoStylesheet";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string StylesheetPropertyCacheKey = "UmbracoStylesheetProperty";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string DataTypeCacheKey = "UmbracoDataTypeDefinition";
public const string DataTypePreValuesCacheKey = "UmbracoPreVal";
@@ -2,6 +2,7 @@
using Umbraco.Core.Events;
using Umbraco.Core.Sync;
using umbraco.interfaces;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
@@ -63,5 +64,15 @@ namespace Umbraco.Core.Cache
{
OnCacheUpdated(Instance, new CacheRefresherEventArgs(id, MessageType.RefreshById));
}
/// <summary>
/// Clears the cache for all repository entities of this type
/// </summary>
/// <typeparam name="TEntity"></typeparam>
internal void ClearAllIsolatedCacheByEntityType<TEntity>()
where TEntity : class, IAggregateRoot
{
ApplicationContext.Current.ApplicationCache.IsolatedRuntimeCache.ClearCache<TEntity>();
}
}
}
@@ -2,20 +2,27 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Caching;
using Umbraco.Core.Cache;
using Umbraco.Core.Models;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Persistence.Repositories
namespace Umbraco.Core.Cache
{
/// <summary>
/// Interface describing this cache provider as a wrapper for another
/// </summary>
internal interface IRuntimeCacheProviderWrapper
{
IRuntimeCacheProvider InnerProvider { get; }
}
/// <summary>
/// A wrapper for any IRuntimeCacheProvider that ensures that all inserts and returns
/// are a deep cloned copy of the item when the item is IDeepCloneable and that tracks changes are
/// reset if the object is TracksChangesEntityBase
/// </summary>
internal class DeepCloneRuntimeCacheProvider : IRuntimeCacheProvider
internal class DeepCloneRuntimeCacheProvider : IRuntimeCacheProvider, IRuntimeCacheProviderWrapper
{
internal IRuntimeCacheProvider InnerProvider { get; private set; }
public IRuntimeCacheProvider InnerProvider { get; private set; }
public DeepCloneRuntimeCacheProvider(IRuntimeCacheProvider innerProvider)
{
@@ -79,7 +86,7 @@ namespace Umbraco.Core.Persistence.Repositories
public object GetCacheItem(string cacheKey, Func<object> getCacheItem)
{
return InnerProvider.GetCacheItem(cacheKey, () =>
var cached = InnerProvider.GetCacheItem(cacheKey, () =>
{
var result = DictionaryCacheProviderBase.GetSafeLazy(getCacheItem);
var value = result.Value; // force evaluation now - this may throw if cacheItem throws, and then nothing goes into cache
@@ -87,18 +94,21 @@ namespace Umbraco.Core.Persistence.Repositories
return CheckCloneableAndTracksChanges(value);
});
return CheckCloneableAndTracksChanges(cached);
}
public object GetCacheItem(string cacheKey, Func<object> getCacheItem, TimeSpan? timeout, bool isSliding = false, CacheItemPriority priority = CacheItemPriority.Normal, CacheItemRemovedCallback removedCallback = null, string[] dependentFiles = null)
{
return InnerProvider.GetCacheItem(cacheKey, () =>
var cached = InnerProvider.GetCacheItem(cacheKey, () =>
{
var result = DictionaryCacheProviderBase.GetSafeLazy(getCacheItem);
var value = result.Value; // force evaluation now - this may throw if cacheItem throws, and then nothing goes into cache
if (value == null) return null; // do not store null values (backward compat)
return CheckCloneableAndTracksChanges(value);
}, timeout, isSliding, priority, removedCallback, dependentFiles);
}, timeout, isSliding, priority, removedCallback, dependentFiles);
return CheckCloneableAndTracksChanges(cached);
}
public void InsertCacheItem(string cacheKey, Func<object> getCacheItem, TimeSpan? timeout = null, bool isSliding = false, CacheItemPriority priority = CacheItemPriority.Normal, CacheItemRemovedCallback removedCallback = null, string[] dependentFiles = null)
@@ -0,0 +1,268 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
/// <summary>
/// The default cache policy for retrieving a single entity
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <typeparam name="TId"></typeparam>
/// <remarks>
/// This cache policy uses sliding expiration and caches instances for 5 minutes. However if allow zero count is true, then we use the
/// default policy with no expiry.
/// </remarks>
internal class DefaultRepositoryCachePolicy<TEntity, TId> : RepositoryCachePolicyBase<TEntity, TId>
where TEntity : class, IAggregateRoot
{
private readonly RepositoryCachePolicyOptions _options;
public DefaultRepositoryCachePolicy(IRuntimeCacheProvider cache, RepositoryCachePolicyOptions options)
: base(cache)
{
if (options == null) throw new ArgumentNullException("options");
_options = options;
}
protected string GetCacheIdKey(object id)
{
if (id == null) throw new ArgumentNullException("id");
return string.Format("{0}{1}", GetCacheTypeKey(), id);
}
protected string GetCacheTypeKey()
{
return string.Format("uRepo_{0}_", typeof(TEntity).Name);
}
public override void CreateOrUpdate(TEntity entity, Action<TEntity> persistMethod)
{
if (entity == null) throw new ArgumentNullException("entity");
if (persistMethod == null) throw new ArgumentNullException("persistMethod");
try
{
persistMethod(entity);
//set the disposal action
SetCacheAction(() =>
{
//just to be safe, we cannot cache an item without an identity
if (entity.HasIdentity)
{
Cache.InsertCacheItem(GetCacheIdKey(entity.Id), () => entity,
timeout: TimeSpan.FromMinutes(5),
isSliding: true);
}
//If there's a GetAllCacheAllowZeroCount cache, ensure it is cleared
Cache.ClearCacheItem(GetCacheTypeKey());
});
}
catch
{
//set the disposal action
SetCacheAction(() =>
{
//if an exception is thrown we need to remove the entry from cache, this is ONLY a work around because of the way
// that we cache entities: http://issues.umbraco.org/issue/U4-4259
Cache.ClearCacheItem(GetCacheIdKey(entity.Id));
//If there's a GetAllCacheAllowZeroCount cache, ensure it is cleared
Cache.ClearCacheItem(GetCacheTypeKey());
});
throw;
}
}
public override void Remove(TEntity entity, Action<TEntity> persistMethod)
{
if (entity == null) throw new ArgumentNullException("entity");
if (persistMethod == null) throw new ArgumentNullException("persistMethod");
try
{
persistMethod(entity);
}
finally
{
//set the disposal action
var cacheKey = GetCacheIdKey(entity.Id);
SetCacheAction(() =>
{
Cache.ClearCacheItem(cacheKey);
//If there's a GetAllCacheAllowZeroCount cache, ensure it is cleared
Cache.ClearCacheItem(GetCacheTypeKey());
});
}
}
public override TEntity Get(TId id, Func<TId, TEntity> getFromRepo)
{
if (getFromRepo == null) throw new ArgumentNullException("getFromRepo");
var cacheKey = GetCacheIdKey(id);
var fromCache = Cache.GetCacheItem<TEntity>(cacheKey);
if (fromCache != null)
return fromCache;
var entity = getFromRepo(id);
//set the disposal action
SetCacheAction(cacheKey, entity);
return entity;
}
public override TEntity Get(TId id)
{
var cacheKey = GetCacheIdKey(id);
return Cache.GetCacheItem<TEntity>(cacheKey);
}
public override bool Exists(TId id, Func<TId, bool> getFromRepo)
{
if (getFromRepo == null) throw new ArgumentNullException("getFromRepo");
var cacheKey = GetCacheIdKey(id);
var fromCache = Cache.GetCacheItem<TEntity>(cacheKey);
return fromCache != null || getFromRepo(id);
}
public override TEntity[] GetAll(TId[] ids, Func<TId[], IEnumerable<TEntity>> getFromRepo)
{
if (getFromRepo == null) throw new ArgumentNullException("getFromRepo");
if (ids.Any())
{
var entities = ids.Select(Get).ToArray();
if (ids.Length.Equals(entities.Length) && entities.Any(x => x == null) == false)
return entities;
}
else
{
var allEntities = GetAllFromCache();
if (allEntities.Any())
{
if (_options.GetAllCacheValidateCount)
{
//Get count of all entities of current type (TEntity) to ensure cached result is correct
var totalCount = _options.PerformCount();
if (allEntities.Length == totalCount)
return allEntities;
}
else
{
return allEntities;
}
}
else if (_options.GetAllCacheAllowZeroCount)
{
//if the repository allows caching a zero count, then check the zero count cache
if (HasZeroCountCache())
{
//there is a zero count cache so return an empty list
return new TEntity[] {};
}
}
}
//we need to do the lookup from the repo
var entityCollection = getFromRepo(ids)
//ensure we don't include any null refs in the returned collection!
.WhereNotNull()
.ToArray();
//set the disposal action
SetCacheAction(ids, entityCollection);
return entityCollection;
}
/// <summary>
/// Looks up the zero count cache, must return null if it doesn't exist
/// </summary>
/// <returns></returns>
protected bool HasZeroCountCache()
{
var zeroCount = Cache.GetCacheItem<TEntity[]>(GetCacheTypeKey());
return (zeroCount != null && zeroCount.Any() == false);
}
/// <summary>
/// Performs the lookup for all entities of this type from the cache
/// </summary>
/// <returns></returns>
protected TEntity[] GetAllFromCache()
{
var allEntities = Cache.GetCacheItemsByKeySearch<TEntity>(GetCacheTypeKey())
.WhereNotNull()
.ToArray();
return allEntities.Any() ? allEntities : new TEntity[] {};
}
/// <summary>
/// Sets the action to execute on disposal for a single entity
/// </summary>
/// <param name="cacheKey"></param>
/// <param name="entity"></param>
protected virtual void SetCacheAction(string cacheKey, TEntity entity)
{
if (entity == null) return;
SetCacheAction(() =>
{
//just to be safe, we cannot cache an item without an identity
if (entity.HasIdentity)
{
Cache.InsertCacheItem(cacheKey, () => entity,
timeout: TimeSpan.FromMinutes(5),
isSliding: true);
}
});
}
/// <summary>
/// Sets the action to execute on disposal for an entity collection
/// </summary>
/// <param name="ids"></param>
/// <param name="entityCollection"></param>
protected virtual void SetCacheAction(TId[] ids, TEntity[] entityCollection)
{
SetCacheAction(() =>
{
//This option cannot execute if we are looking up specific Ids
if (ids.Any() == false && entityCollection.Length == 0 && _options.GetAllCacheAllowZeroCount)
{
//there was nothing returned but we want to cache a zero count result so add an TEntity[] to the cache
// to signify that there is a zero count cache
//NOTE: Don't set expiry/sliding for a zero count
Cache.InsertCacheItem(GetCacheTypeKey(), () => new TEntity[] {});
}
else
{
//This is the default behavior, we'll individually cache each item so that if/when these items are resolved
// by id, they are returned from the already existing cache.
foreach (var entity in entityCollection.WhereNotNull())
{
var localCopy = entity;
//just to be safe, we cannot cache an item without an identity
if (localCopy.HasIdentity)
{
Cache.InsertCacheItem(GetCacheIdKey(entity.Id), () => localCopy,
timeout: TimeSpan.FromMinutes(5),
isSliding: true);
}
}
}
});
}
}
}
@@ -0,0 +1,27 @@
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
/// <summary>
/// Creates cache policies
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <typeparam name="TId"></typeparam>
internal class DefaultRepositoryCachePolicyFactory<TEntity, TId> : IRepositoryCachePolicyFactory<TEntity, TId>
where TEntity : class, IAggregateRoot
{
private readonly IRuntimeCacheProvider _runtimeCache;
private readonly RepositoryCachePolicyOptions _options;
public DefaultRepositoryCachePolicyFactory(IRuntimeCacheProvider runtimeCache, RepositoryCachePolicyOptions options)
{
_runtimeCache = runtimeCache;
_options = options;
}
public virtual IRepositoryCachePolicy<TEntity, TId> CreatePolicy()
{
return new DefaultRepositoryCachePolicy<TEntity, TId>(_runtimeCache, _options);
}
}
}
@@ -0,0 +1,229 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Collections;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
/// <summary>
/// A caching policy that caches an entire dataset as a single collection
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <typeparam name="TId"></typeparam>
internal class FullDataSetRepositoryCachePolicy<TEntity, TId> : RepositoryCachePolicyBase<TEntity, TId>
where TEntity : class, IAggregateRoot
{
private readonly Func<TEntity, TId> _getEntityId;
private readonly Func<IEnumerable<TEntity>> _getAllFromRepo;
private readonly bool _expires;
public FullDataSetRepositoryCachePolicy(IRuntimeCacheProvider cache, Func<TEntity, TId> getEntityId, Func<IEnumerable<TEntity>> getAllFromRepo, bool expires)
: base(cache)
{
_getEntityId = getEntityId;
_getAllFromRepo = getAllFromRepo;
_expires = expires;
}
private bool? _hasZeroCountCache;
protected string GetCacheTypeKey()
{
return string.Format("uRepo_{0}_", typeof(TEntity).Name);
}
public override void CreateOrUpdate(TEntity entity, Action<TEntity> persistMethod)
{
if (entity == null) throw new ArgumentNullException("entity");
if (persistMethod == null) throw new ArgumentNullException("persistMethod");
try
{
persistMethod(entity);
//set the disposal action
SetCacheAction(() =>
{
//Clear all
Cache.ClearCacheItem(GetCacheTypeKey());
});
}
catch
{
//set the disposal action
SetCacheAction(() =>
{
//Clear all
Cache.ClearCacheItem(GetCacheTypeKey());
});
throw;
}
}
public override void Remove(TEntity entity, Action<TEntity> persistMethod)
{
if (entity == null) throw new ArgumentNullException("entity");
if (persistMethod == null) throw new ArgumentNullException("persistMethod");
try
{
persistMethod(entity);
}
finally
{
//set the disposal action
SetCacheAction(() =>
{
//Clear all
Cache.ClearCacheItem(GetCacheTypeKey());
});
}
}
public override TEntity Get(TId id, Func<TId, TEntity> getFromRepo)
{
//Force get all with cache
var found = GetAll(new TId[] { }, ids => _getAllFromRepo().WhereNotNull());
//we don't have anything in cache (this should never happen), just return from the repo
if (found == null) return getFromRepo(id);
var entity = found.FirstOrDefault(x => _getEntityId(x).Equals(id));
if (entity == null) return null;
//We must ensure to deep clone each one out manually since the deep clone list only clones one way
return (TEntity)entity.DeepClone();
}
public override TEntity Get(TId id)
{
//Force get all with cache
var found = GetAll(new TId[] { }, ids => _getAllFromRepo().WhereNotNull());
//we don't have anything in cache (this should never happen), just return null
if (found == null) return null;
var entity = found.FirstOrDefault(x => _getEntityId(x).Equals(id));
if (entity == null) return null;
//We must ensure to deep clone each one out manually since the deep clone list only clones one way
return (TEntity)entity.DeepClone();
}
public override bool Exists(TId id, Func<TId, bool> getFromRepo)
{
//Force get all with cache
var found = GetAll(new TId[] { }, ids => _getAllFromRepo().WhereNotNull());
//we don't have anything in cache (this should never happen), just return from the repo
return found == null
? getFromRepo(id)
: found.Any(x => _getEntityId(x).Equals(id));
}
public override TEntity[] GetAll(TId[] ids, Func<TId[], IEnumerable<TEntity>> getFromRepo)
{
//process getting all including setting the cache callback
var result = PerformGetAll(getFromRepo);
//now that the base result has been calculated, they will all be cached.
// Now we can just filter by ids if they have been supplied
return (ids.Any()
? result.Where(x => ids.Contains(_getEntityId(x))).ToArray()
: result)
//We must ensure to deep clone each one out manually since the deep clone list only clones one way
.Select(x => (TEntity)x.DeepClone())
.ToArray();
}
private TEntity[] PerformGetAll(Func<TId[], IEnumerable<TEntity>> getFromRepo)
{
var allEntities = GetAllFromCache();
if (allEntities.Any())
{
return allEntities;
}
//check the zero count cache
if (HasZeroCountCache())
{
//there is a zero count cache so return an empty list
return new TEntity[] { };
}
//we need to do the lookup from the repo
var entityCollection = getFromRepo(new TId[] { })
//ensure we don't include any null refs in the returned collection!
.WhereNotNull()
.ToArray();
//set the disposal action
SetCacheAction(entityCollection);
return entityCollection;
}
/// <summary>
/// For this type of caching policy, we don't cache individual items
/// </summary>
/// <param name="cacheKey"></param>
/// <param name="entity"></param>
protected void SetCacheAction(string cacheKey, TEntity entity)
{
//No-op
}
/// <summary>
/// Sets the action to execute on disposal for an entity collection
/// </summary>
/// <param name="entityCollection"></param>
protected void SetCacheAction(TEntity[] entityCollection)
{
//set the disposal action
SetCacheAction(() =>
{
//We want to cache the result as a single collection
if (_expires)
{
Cache.InsertCacheItem(GetCacheTypeKey(), () => new DeepCloneableList<TEntity>(entityCollection),
timeout: TimeSpan.FromMinutes(5),
isSliding: true);
}
else
{
Cache.InsertCacheItem(GetCacheTypeKey(), () => new DeepCloneableList<TEntity>(entityCollection));
}
});
}
/// <summary>
/// Looks up the zero count cache, must return null if it doesn't exist
/// </summary>
/// <returns></returns>
protected bool HasZeroCountCache()
{
if (_hasZeroCountCache.HasValue)
return _hasZeroCountCache.Value;
_hasZeroCountCache = Cache.GetCacheItem<DeepCloneableList<TEntity>>(GetCacheTypeKey()) != null;
return _hasZeroCountCache.Value;
}
/// <summary>
/// This policy will cache the full data set as a single collection
/// </summary>
/// <returns></returns>
protected TEntity[] GetAllFromCache()
{
var found = Cache.GetCacheItem<DeepCloneableList<TEntity>>(GetCacheTypeKey());
//This method will get called before checking for zero count cache, so we'll just set the flag here
_hasZeroCountCache = found != null;
return found == null ? new TEntity[] { } : found.WhereNotNull().ToArray();
}
}
}
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
/// <summary>
/// Creates cache policies
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <typeparam name="TId"></typeparam>
internal class FullDataSetRepositoryCachePolicyFactory<TEntity, TId> : IRepositoryCachePolicyFactory<TEntity, TId>
where TEntity : class, IAggregateRoot
{
private readonly IRuntimeCacheProvider _runtimeCache;
private readonly Func<TEntity, TId> _getEntityId;
private readonly Func<IEnumerable<TEntity>> _getAllFromRepo;
private readonly bool _expires;
public FullDataSetRepositoryCachePolicyFactory(IRuntimeCacheProvider runtimeCache, Func<TEntity, TId> getEntityId, Func<IEnumerable<TEntity>> getAllFromRepo, bool expires)
{
_runtimeCache = runtimeCache;
_getEntityId = getEntityId;
_getAllFromRepo = getAllFromRepo;
_expires = expires;
}
public virtual IRepositoryCachePolicy<TEntity, TId> CreatePolicy()
{
return new FullDataSetRepositoryCachePolicy<TEntity, TId>(_runtimeCache, _getEntityId, _getAllFromRepo, _expires);
}
}
}
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
internal interface IRepositoryCachePolicy<TEntity, TId> : IDisposable
where TEntity : class, IAggregateRoot
{
TEntity Get(TId id, Func<TId, TEntity> getFromRepo);
TEntity Get(TId id);
bool Exists(TId id, Func<TId, bool> getFromRepo);
void CreateOrUpdate(TEntity entity, Action<TEntity> persistMethod);
void Remove(TEntity entity, Action<TEntity> persistMethod);
TEntity[] GetAll(TId[] ids, Func<TId[], IEnumerable<TEntity>> getFromRepo);
}
}
@@ -0,0 +1,9 @@
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
internal interface IRepositoryCachePolicyFactory<TEntity, TId> where TEntity : class, IAggregateRoot
{
IRepositoryCachePolicy<TEntity, TId> CreatePolicy();
}
}
@@ -0,0 +1,91 @@
using System;
using System.Collections.Concurrent;
namespace Umbraco.Core.Cache
{
/// <summary>
/// Used to get/create/manipulate isolated runtime cache
/// </summary>
/// <remarks>
/// This is useful for repository level caches to ensure that cache lookups by key are fast so
/// that the repository doesn't need to search through all keys on a global scale.
/// </remarks>
public class IsolatedRuntimeCache
{
internal Func<Type, IRuntimeCacheProvider> CacheFactory { get; set; }
/// <summary>
/// Constructor that allows specifying a factory for the type of runtime isolated cache to create
/// </summary>
/// <param name="cacheFactory"></param>
public IsolatedRuntimeCache(Func<Type, IRuntimeCacheProvider> cacheFactory)
{
CacheFactory = cacheFactory;
}
private readonly ConcurrentDictionary<Type, IRuntimeCacheProvider> _isolatedCache = new ConcurrentDictionary<Type, IRuntimeCacheProvider>();
/// <summary>
/// Returns an isolated runtime cache for a given type
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public IRuntimeCacheProvider GetOrCreateCache<T>()
{
return _isolatedCache.GetOrAdd(typeof(T), type => CacheFactory(type));
}
/// <summary>
/// Returns an isolated runtime cache for a given type
/// </summary>
/// <returns></returns>
public IRuntimeCacheProvider GetOrCreateCache(Type type)
{
return _isolatedCache.GetOrAdd(type, t => CacheFactory(t));
}
/// <summary>
/// Tries to get a cache by the type specified
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public Attempt<IRuntimeCacheProvider> GetCache<T>()
{
IRuntimeCacheProvider cache;
if (_isolatedCache.TryGetValue(typeof(T), out cache))
{
return Attempt.Succeed(cache);
}
return Attempt<IRuntimeCacheProvider>.Fail();
}
/// <summary>
/// Clears all values inside this isolated runtime cache
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public void ClearCache<T>()
{
IRuntimeCacheProvider cache;
if (_isolatedCache.TryGetValue(typeof(T), out cache))
{
cache.ClearAllCache();
}
}
/// <summary>
/// Clears all of the isolated caches
/// </summary>
public void ClearAllCaches()
{
foreach (var key in _isolatedCache.Keys)
{
IRuntimeCacheProvider cache;
if (_isolatedCache.TryRemove(key, out cache))
{
cache.ClearAllCache();
}
}
}
}
}
@@ -0,0 +1,27 @@
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
/// <summary>
/// Creates cache policies
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <typeparam name="TId"></typeparam>
internal class OnlySingleItemsRepositoryCachePolicyFactory<TEntity, TId> : IRepositoryCachePolicyFactory<TEntity, TId>
where TEntity : class, IAggregateRoot
{
private readonly IRuntimeCacheProvider _runtimeCache;
private readonly RepositoryCachePolicyOptions _options;
public OnlySingleItemsRepositoryCachePolicyFactory(IRuntimeCacheProvider runtimeCache, RepositoryCachePolicyOptions options)
{
_runtimeCache = runtimeCache;
_options = options;
}
public virtual IRepositoryCachePolicy<TEntity, TId> CreatePolicy()
{
return new SingleItemsOnlyRepositoryCachePolicy<TEntity, TId>(_runtimeCache, _options);
}
}
}
@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
internal abstract class RepositoryCachePolicyBase<TEntity, TId> : DisposableObject, IRepositoryCachePolicy<TEntity, TId>
where TEntity : class, IAggregateRoot
{
private Action _action;
protected RepositoryCachePolicyBase(IRuntimeCacheProvider cache)
{
if (cache == null) throw new ArgumentNullException("cache");
Cache = cache;
}
protected IRuntimeCacheProvider Cache { get; private set; }
/// <summary>
/// The disposal performs the caching
/// </summary>
protected override void DisposeResources()
{
if (_action != null)
{
_action();
}
}
/// <summary>
/// Sets the action to execute on disposal
/// </summary>
/// <param name="action"></param>
protected void SetCacheAction(Action action)
{
_action = action;
}
public abstract TEntity Get(TId id, Func<TId, TEntity> getFromRepo);
public abstract TEntity Get(TId id);
public abstract bool Exists(TId id, Func<TId, bool> getFromRepo);
public abstract void CreateOrUpdate(TEntity entity, Action<TEntity> persistMethod);
public abstract void Remove(TEntity entity, Action<TEntity> persistMethod);
public abstract TEntity[] GetAll(TId[] ids, Func<TId[], IEnumerable<TEntity>> getFromRepo);
}
}
@@ -1,17 +1,34 @@
namespace Umbraco.Core.Persistence.Repositories
using System;
namespace Umbraco.Core.Cache
{
internal class RepositoryCacheOptions
internal class RepositoryCachePolicyOptions
{
/// <summary>
/// Constructor sets defaults
/// Ctor - sets GetAllCacheValidateCount = true
/// </summary>
public RepositoryCacheOptions()
public RepositoryCachePolicyOptions(Func<int> performCount)
{
PerformCount = performCount;
GetAllCacheValidateCount = true;
GetAllCacheAllowZeroCount = false;
GetAllCacheThresholdLimit = 100;
}
/// <summary>
/// Ctor - sets GetAllCacheValidateCount = false
/// </summary>
public RepositoryCachePolicyOptions()
{
PerformCount = null;
GetAllCacheValidateCount = false;
GetAllCacheAllowZeroCount = false;
}
/// <summary>
/// Callback required to get count for GetAllCacheValidateCount
/// </summary>
public Func<int> PerformCount { get; private set; }
/// <summary>
/// True/false as to validate the total item count when all items are returned from cache, the default is true but this
/// means that a db lookup will occur - though that lookup will probably be significantly less expensive than the normal
@@ -21,16 +38,11 @@ namespace Umbraco.Core.Persistence.Repositories
/// setting this to return false will improve performance of GetAll cache with no params but should only be used
/// for specific circumstances
/// </remarks>
public bool GetAllCacheValidateCount { get; set; }
public bool GetAllCacheValidateCount { get; private set; }
/// <summary>
/// True if the GetAll method will cache that there are zero results so that the db is not hit when there are no results found
/// </summary>
public bool GetAllCacheAllowZeroCount { get; set; }
/// <summary>
/// The threshold entity count for which the GetAll method will cache entities
/// </summary>
public int GetAllCacheThresholdLimit { get; set; }
}
}
@@ -0,0 +1,24 @@
using System.Linq;
using Umbraco.Core.Collections;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
/// <summary>
/// A caching policy that ignores all caches for GetAll - it will only cache calls for individual items
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <typeparam name="TId"></typeparam>
internal class SingleItemsOnlyRepositoryCachePolicy<TEntity, TId> : DefaultRepositoryCachePolicy<TEntity, TId>
where TEntity : class, IAggregateRoot
{
public SingleItemsOnlyRepositoryCachePolicy(IRuntimeCacheProvider cache, RepositoryCachePolicyOptions options) : base(cache, options)
{
}
protected override void SetCacheAction(TId[] ids, TEntity[] entityCollection)
{
//no-op
}
}
}
+117 -223
View File
@@ -1,6 +1,8 @@
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@@ -11,20 +13,15 @@ using Umbraco.Core.Logging;
namespace Umbraco.Core
{
/// <summary>
/// Class that is exposed by the ApplicationContext for application wide caching purposes
/// </summary>
public class CacheHelper
{
private readonly bool _enableCache;
private readonly ICacheProvider _requestCache;
private readonly ICacheProvider _nullRequestCache = new NullCacheProvider();
private readonly ICacheProvider _staticCache;
private readonly ICacheProvider _nullStaticCache = new NullCacheProvider();
private readonly IRuntimeCacheProvider _httpCache;
private readonly IRuntimeCacheProvider _nullHttpCache = new NullCacheProvider();
private static readonly ICacheProvider NullRequestCache = new NullCacheProvider();
private static readonly ICacheProvider NullStaticCache = new NullCacheProvider();
private static readonly IRuntimeCacheProvider NullRuntimeCache = new NullCacheProvider();
/// <summary>
/// Creates a cache helper with disabled caches
/// </summary>
@@ -34,7 +31,7 @@ namespace Umbraco.Core
/// </remarks>
public static CacheHelper CreateDisabledCacheHelper()
{
return new CacheHelper(null, null, null, false);
return new CacheHelper(NullRuntimeCache, NullStaticCache, NullRequestCache, new IsolatedRuntimeCache(t => NullRuntimeCache));
}
/// <summary>
@@ -44,7 +41,8 @@ namespace Umbraco.Core
: this(
new HttpRuntimeCacheProvider(HttpRuntime.Cache),
new StaticCacheProvider(),
new HttpRequestCacheProvider())
new HttpRequestCacheProvider(),
new IsolatedRuntimeCache(t => new ObjectCacheRuntimeCacheProvider()))
{
}
@@ -56,93 +54,75 @@ namespace Umbraco.Core
: this(
new HttpRuntimeCacheProvider(cache),
new StaticCacheProvider(),
new HttpRequestCacheProvider())
new HttpRequestCacheProvider(),
new IsolatedRuntimeCache(t => new ObjectCacheRuntimeCacheProvider()))
{
}
/// <summary>
/// Initializes a new instance based on the provided providers
/// </summary>
/// <param name="httpCacheProvider"></param>
/// <param name="staticCacheProvider"></param>
/// <param name="requestCacheProvider"></param>
[Obsolete("Use the constructor the specifies all dependencies")]
[EditorBrowsable(EditorBrowsableState.Never)]
public CacheHelper(
IRuntimeCacheProvider httpCacheProvider,
ICacheProvider staticCacheProvider,
ICacheProvider requestCacheProvider)
: this(httpCacheProvider, staticCacheProvider, requestCacheProvider, true)
: this(httpCacheProvider, staticCacheProvider, requestCacheProvider, new IsolatedRuntimeCache(t => new ObjectCacheRuntimeCacheProvider()))
{
}
/// <summary>
/// Private ctor used for creating a disabled cache helper
/// </summary>
/// <param name="httpCacheProvider"></param>
/// <param name="staticCacheProvider"></param>
/// <param name="requestCacheProvider"></param>
/// <param name="enableCache"></param>
private CacheHelper(
/// <summary>
/// Initializes a new instance based on the provided providers
/// </summary>
/// <param name="httpCacheProvider"></param>
/// <param name="staticCacheProvider"></param>
/// <param name="requestCacheProvider"></param>
/// <param name="isolatedCacheManager"></param>
public CacheHelper(
IRuntimeCacheProvider httpCacheProvider,
ICacheProvider staticCacheProvider,
ICacheProvider requestCacheProvider,
bool enableCache)
ICacheProvider requestCacheProvider,
IsolatedRuntimeCache isolatedCacheManager)
{
if (enableCache)
{
_httpCache = httpCacheProvider;
_staticCache = staticCacheProvider;
_requestCache = requestCacheProvider;
}
else
{
_httpCache = null;
_staticCache = null;
_requestCache = null;
}
_enableCache = enableCache;
if (httpCacheProvider == null) throw new ArgumentNullException("httpCacheProvider");
if (staticCacheProvider == null) throw new ArgumentNullException("staticCacheProvider");
if (requestCacheProvider == null) throw new ArgumentNullException("requestCacheProvider");
if (isolatedCacheManager == null) throw new ArgumentNullException("isolatedCacheManager");
RuntimeCache = httpCacheProvider;
StaticCache = staticCacheProvider;
RequestCache = requestCacheProvider;
IsolatedRuntimeCache = isolatedCacheManager;
}
/// <summary>
/// Returns the current Request cache
/// </summary>
public ICacheProvider RequestCache
{
get { return _enableCache ? _requestCache : _nullRequestCache; }
}
/// <summary>
/// Returns the current Runtime cache
/// </summary>
public ICacheProvider StaticCache
{
get { return _enableCache ? _staticCache : _nullStaticCache; }
}
/// <summary>
/// Returns the current Runtime cache
/// </summary>
public IRuntimeCacheProvider RuntimeCache
{
get { return _enableCache ? _httpCache : _nullHttpCache; }
}
public ICacheProvider RequestCache { get; internal set; }
#region Legacy Runtime/Http Cache accessors
/// <summary>
/// Returns the current Runtime cache
/// </summary>
public ICacheProvider StaticCache { get; internal set; }
/// <summary>
/// Returns the current Runtime cache
/// </summary>
public IRuntimeCacheProvider RuntimeCache { get; internal set; }
/// <summary>
/// Returns the current Isolated Runtime cache manager
/// </summary>
public IsolatedRuntimeCache IsolatedRuntimeCache { get; internal set; }
#region Legacy Runtime/Http Cache accessors
/// <summary>
/// Clears the item in umbraco's runtime cache
/// </summary>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearAllCache()
{
if (_enableCache == false)
{
_nullHttpCache.ClearAllCache();
}
else
{
_httpCache.ClearAllCache();
}
RuntimeCache.ClearAllCache();
IsolatedRuntimeCache.ClearAllCaches();
}
/// <summary>
@@ -150,16 +130,10 @@ namespace Umbraco.Core
/// </summary>
/// <param name="key">Key</param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearCacheItem(string key)
{
if (_enableCache == false)
{
_nullHttpCache.ClearCacheItem(key);
}
else
{
_httpCache.ClearCacheItem(key);
}
RuntimeCache.ClearCacheItem(key);
}
@@ -171,30 +145,17 @@ namespace Umbraco.Core
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
public void ClearCacheObjectTypes(string typeName)
{
if (_enableCache == false)
{
_nullHttpCache.ClearCacheObjectTypes(typeName);
}
else
{
_httpCache.ClearCacheObjectTypes(typeName);
}
RuntimeCache.ClearCacheObjectTypes(typeName);
}
/// <summary>
/// Clears all objects in the System.Web.Cache with the System.Type specified
/// </summary>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearCacheObjectTypes<T>()
{
if (_enableCache == false)
{
_nullHttpCache.ClearCacheObjectTypes<T>();
}
else
{
_httpCache.ClearCacheObjectTypes<T>();
}
RuntimeCache.ClearCacheObjectTypes<T>();
}
/// <summary>
@@ -202,16 +163,10 @@ namespace Umbraco.Core
/// </summary>
/// <param name="keyStartsWith">The start of the key</param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearCacheByKeySearch(string keyStartsWith)
{
if (_enableCache == false)
{
_nullHttpCache.ClearCacheByKeySearch(keyStartsWith);
}
else
{
_httpCache.ClearCacheByKeySearch(keyStartsWith);
}
RuntimeCache.ClearCacheByKeySearch(keyStartsWith);
}
/// <summary>
@@ -219,29 +174,17 @@ namespace Umbraco.Core
/// </summary>
/// <param name="regexString"></param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearCacheByKeyExpression(string regexString)
{
if (_enableCache == false)
{
_nullHttpCache.ClearCacheByKeyExpression(regexString);
}
else
{
_httpCache.ClearCacheByKeyExpression(regexString);
}
RuntimeCache.ClearCacheByKeyExpression(regexString);
}
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public IEnumerable<T> GetCacheItemsByKeySearch<T>(string keyStartsWith)
{
if (_enableCache == false)
{
return _nullHttpCache.GetCacheItemsByKeySearch<T>(keyStartsWith);
}
else
{
return _httpCache.GetCacheItemsByKeySearch<T>(keyStartsWith);
}
return RuntimeCache.GetCacheItemsByKeySearch<T>(keyStartsWith);
}
/// <summary>
@@ -251,16 +194,10 @@ namespace Umbraco.Core
/// <param name="cacheKey"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey)
{
if (_enableCache == false)
{
return _nullHttpCache.GetCacheItem<TT>(cacheKey);
}
else
{
return _httpCache.GetCacheItem<TT>(cacheKey);
}
return RuntimeCache.GetCacheItem<TT>(cacheKey);
}
/// <summary>
@@ -271,16 +208,11 @@ namespace Umbraco.Core
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey, Func<TT> getCacheItem)
{
if (_enableCache == false)
{
return _nullHttpCache.GetCacheItem<TT>(cacheKey, getCacheItem);
}
else
{
return _httpCache.GetCacheItem<TT>(cacheKey, getCacheItem);
}
return RuntimeCache.GetCacheItem<TT>(cacheKey, getCacheItem);
}
/// <summary>
@@ -292,17 +224,12 @@ namespace Umbraco.Core
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey,
TimeSpan timeout, Func<TT> getCacheItem)
{
if (_enableCache == false)
{
return _nullHttpCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout);
}
else
{
return _httpCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout);
}
return RuntimeCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout);
}
/// <summary>
@@ -315,18 +242,13 @@ namespace Umbraco.Core
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey,
CacheItemRemovedCallback refreshAction, TimeSpan timeout,
Func<TT> getCacheItem)
{
if (!_enableCache)
{
return _nullHttpCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout, removedCallback: refreshAction);
}
else
{
return _httpCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout, removedCallback: refreshAction);
}
return RuntimeCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout, removedCallback: refreshAction);
}
/// <summary>
@@ -340,18 +262,13 @@ namespace Umbraco.Core
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey,
CacheItemPriority priority, CacheItemRemovedCallback refreshAction, TimeSpan timeout,
Func<TT> getCacheItem)
{
if (_enableCache == false)
{
return _nullHttpCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout, false, priority, refreshAction);
}
else
{
return _httpCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout, false, priority, refreshAction);
}
return RuntimeCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout, false, priority, refreshAction);
}
/// <summary>
@@ -373,20 +290,13 @@ namespace Umbraco.Core
TimeSpan timeout,
Func<TT> getCacheItem)
{
if (_enableCache == false)
var cache = GetHttpRuntimeCacheProvider(RuntimeCache);
if (cache != null)
{
return _nullHttpCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout, false, priority, refreshAction, null);
}
else
{
var cache = _httpCache as HttpRuntimeCacheProvider;
if (cache != null)
{
var result = cache.GetCacheItem(cacheKey, () => getCacheItem(), timeout, false, priority, refreshAction, cacheDependency);
return result == null ? default(TT) : result.TryConvertTo<TT>().Result;
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
var result = cache.GetCacheItem(cacheKey, () => getCacheItem(), timeout, false, priority, refreshAction, cacheDependency);
return result == null ? default(TT) : result.TryConvertTo<TT>().Result;
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
}
/// <summary>
@@ -404,20 +314,13 @@ namespace Umbraco.Core
CacheDependency cacheDependency,
Func<TT> getCacheItem)
{
if (!_enableCache)
var cache = GetHttpRuntimeCacheProvider(RuntimeCache);
if (cache != null)
{
return _nullHttpCache.GetCacheItem<TT>(cacheKey, getCacheItem, null, false, priority, null, null);
}
else
{
var cache = _httpCache as HttpRuntimeCacheProvider;
if (cache != null)
{
var result = cache.GetCacheItem(cacheKey, () => getCacheItem(), null, false, priority, null, cacheDependency);
return result == null ? default(TT) : result.TryConvertTo<TT>().Result;
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
var result = cache.GetCacheItem(cacheKey, () => getCacheItem(), null, false, priority, null, cacheDependency);
return result == null ? default(TT) : result.TryConvertTo<TT>().Result;
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
}
/// <summary>
@@ -427,18 +330,14 @@ namespace Umbraco.Core
/// <param name="cacheKey"></param>
/// <param name="priority"></param>
/// <param name="getCacheItem"></param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void InsertCacheItem<T>(string cacheKey,
CacheItemPriority priority,
Func<T> getCacheItem)
{
if (_enableCache == false)
{
_nullHttpCache.InsertCacheItem<T>(cacheKey, getCacheItem, priority: priority);
}
else
{
_httpCache.InsertCacheItem<T>(cacheKey, getCacheItem, priority: priority);
}
RuntimeCache.InsertCacheItem<T>(cacheKey, getCacheItem, priority: priority);
}
/// <summary>
@@ -449,19 +348,14 @@ namespace Umbraco.Core
/// <param name="priority"></param>
/// <param name="timeout">This will set an absolute expiration from now until the timeout</param>
/// <param name="getCacheItem"></param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void InsertCacheItem<T>(string cacheKey,
CacheItemPriority priority,
TimeSpan timeout,
Func<T> getCacheItem)
{
if (_enableCache == false)
{
_nullHttpCache.InsertCacheItem<T>(cacheKey, getCacheItem, timeout, priority: priority);
}
else
{
_httpCache.InsertCacheItem<T>(cacheKey, getCacheItem, timeout, priority: priority);
}
RuntimeCache.InsertCacheItem<T>(cacheKey, getCacheItem, timeout, priority: priority);
}
/// <summary>
@@ -480,19 +374,12 @@ namespace Umbraco.Core
TimeSpan timeout,
Func<T> getCacheItem)
{
if (_enableCache == false)
var cache = GetHttpRuntimeCacheProvider(RuntimeCache);
if (cache != null)
{
_nullHttpCache.InsertCacheItem<T>(cacheKey, getCacheItem, timeout, priority: priority, dependentFiles:null);
}
else
{
var cache = _httpCache as HttpRuntimeCacheProvider;
if (cache != null)
{
cache.InsertCacheItem(cacheKey, () => getCacheItem(), timeout, false, priority, null, cacheDependency);
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
cache.InsertCacheItem(cacheKey, () => getCacheItem(), timeout, false, priority, null, cacheDependency);
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
}
/// <summary>
@@ -513,22 +400,29 @@ namespace Umbraco.Core
TimeSpan? timeout,
Func<T> getCacheItem)
{
if (_enableCache == false)
var cache = GetHttpRuntimeCacheProvider(RuntimeCache);
if (cache != null)
{
_nullHttpCache.InsertCacheItem<T>(cacheKey, getCacheItem, timeout, false, priority, refreshAction, null);
}
else
{
var cache = _httpCache as HttpRuntimeCacheProvider;
if (cache != null)
{
cache.InsertCacheItem(cacheKey, () => getCacheItem(), timeout, false, priority, refreshAction, cacheDependency);
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
cache.InsertCacheItem(cacheKey, () => getCacheItem(), timeout, false, priority, refreshAction, cacheDependency);
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
}
#endregion
}
private HttpRuntimeCacheProvider GetHttpRuntimeCacheProvider(IRuntimeCacheProvider runtimeCache)
{
HttpRuntimeCacheProvider cache;
var wrapper = RuntimeCache as IRuntimeCacheProviderWrapper;
if (wrapper != null)
{
cache = wrapper.InnerProvider as HttpRuntimeCacheProvider;
}
else
{
cache = RuntimeCache as HttpRuntimeCacheProvider;
}
return cache;
}
}
}
@@ -0,0 +1,141 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Umbraco.Core.Models;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Collections
{
/// <summary>
/// A List that can be deep cloned with deep cloned elements and can reset the collection's items dirty flags
/// </summary>
/// <typeparam name="T"></typeparam>
internal class DeepCloneableList<T> : List<T>, IDeepCloneable, IRememberBeingDirty
{
private readonly ListCloneBehavior _listCloneBehavior;
public DeepCloneableList(ListCloneBehavior listCloneBehavior)
{
_listCloneBehavior = listCloneBehavior;
}
public DeepCloneableList(IEnumerable<T> collection, ListCloneBehavior listCloneBehavior) : base(collection)
{
_listCloneBehavior = listCloneBehavior;
}
/// <summary>
/// Default behavior is CloneOnce
/// </summary>
/// <param name="collection"></param>
public DeepCloneableList(IEnumerable<T> collection)
: this(collection, ListCloneBehavior.CloneOnce)
{
}
/// <summary>
/// Creates a new list and adds each element as a deep cloned element if it is of type IDeepCloneable
/// </summary>
/// <returns></returns>
public object DeepClone()
{
switch (_listCloneBehavior)
{
case ListCloneBehavior.CloneOnce:
//we are cloning once, so create a new list in none mode
// and deep clone all items into it
var newList = new DeepCloneableList<T>(ListCloneBehavior.None);
foreach (var item in this)
{
var dc = item as IDeepCloneable;
if (dc != null)
{
newList.Add((T)dc.DeepClone());
}
else
{
newList.Add(item);
}
}
return newList;
case ListCloneBehavior.None:
//we are in none mode, so just return a new list with the same items
return new DeepCloneableList<T>(this, ListCloneBehavior.None);
case ListCloneBehavior.Always:
//always clone to new list
var newList2 = new DeepCloneableList<T>(ListCloneBehavior.Always);
foreach (var item in this)
{
var dc = item as IDeepCloneable;
if (dc != null)
{
newList2.Add((T)dc.DeepClone());
}
else
{
newList2.Add(item);
}
}
return newList2;
default:
throw new ArgumentOutOfRangeException();
}
}
public bool IsDirty()
{
return this.OfType<IRememberBeingDirty>().Any(x => x.IsDirty());
}
public bool WasDirty()
{
return this.OfType<IRememberBeingDirty>().Any(x => x.WasDirty());
}
/// <summary>
/// Always returns false, the list has no properties we need to report
/// </summary>
/// <param name="propName"></param>
/// <returns></returns>
public bool IsPropertyDirty(string propName)
{
return false;
}
/// <summary>
/// Always returns false, the list has no properties we need to report
/// </summary>
/// <param name="propertyName"></param>
/// <returns></returns>
public bool WasPropertyDirty(string propertyName)
{
return false;
}
public void ResetDirtyProperties()
{
foreach (var dc in this.OfType<IRememberBeingDirty>())
{
dc.ResetDirtyProperties();
}
}
public void ForgetPreviouslyDirtyProperties()
{
foreach (var dc in this.OfType<IRememberBeingDirty>())
{
dc.ForgetPreviouslyDirtyProperties();
}
}
public void ResetDirtyProperties(bool rememberPreviouslyChangedProperties)
{
foreach (var dc in this.OfType<IRememberBeingDirty>())
{
dc.ResetDirtyProperties(rememberPreviouslyChangedProperties);
}
}
}
}
@@ -0,0 +1,20 @@
namespace Umbraco.Core.Collections
{
internal enum ListCloneBehavior
{
/// <summary>
/// When set, DeepClone will clone the items one time and the result list behavior will be None
/// </summary>
CloneOnce,
/// <summary>
/// When set, DeepClone will not clone any items
/// </summary>
None,
/// <summary>
/// When set, DeepClone will always clone all items
/// </summary>
Always
}
}
+23 -120
View File
@@ -36,7 +36,7 @@ namespace Umbraco.Core.Configuration
//make this volatile so that we can ensure thread safety with a double check lock
private static volatile string _reservedUrlsCache;
private static string _reservedPathsCache;
private static StartsWithContainer _reservedList = new StartsWithContainer();
private static HashSet<string> _reservedList = new HashSet<string>();
private static string _reservedPaths;
private static string _reservedUrls;
//ensure the built on (non-changeable) reserved paths are there at all times
@@ -767,38 +767,31 @@ namespace Umbraco.Core.Configuration
// store references to strings to determine changes
_reservedPathsCache = GlobalSettings.ReservedPaths;
_reservedUrlsCache = GlobalSettings.ReservedUrls;
string _root = SystemDirectories.Root.Trim().ToLower();
// add URLs and paths to a new list
StartsWithContainer _newReservedList = new StartsWithContainer();
foreach (string reservedUrl in _reservedUrlsCache.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries))
var newReservedList = new HashSet<string>();
foreach (var reservedUrlTrimmed in _reservedUrlsCache
.Split(new[] {","}, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Trim().ToLowerInvariant())
.Where(x => x.IsNullOrWhiteSpace() == false)
.Select(reservedUrl => IOHelper.ResolveUrl(reservedUrl).Trim().EnsureStartsWith("/"))
.Where(reservedUrlTrimmed => reservedUrlTrimmed.IsNullOrWhiteSpace() == false))
{
if (string.IsNullOrWhiteSpace(reservedUrl))
continue;
//resolves the url to support tilde chars
string reservedUrlTrimmed = IOHelper.ResolveUrl(reservedUrl.Trim()).Trim().ToLower();
if (reservedUrlTrimmed.Length > 0)
_newReservedList.Add(reservedUrlTrimmed);
newReservedList.Add(reservedUrlTrimmed);
}
foreach (string reservedPath in _reservedPathsCache.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries))
foreach (var reservedPathTrimmed in _reservedPathsCache
.Split(new[] {","}, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Trim().ToLowerInvariant())
.Where(x => x.IsNullOrWhiteSpace() == false)
.Select(reservedPath => IOHelper.ResolveUrl(reservedPath).Trim().EnsureStartsWith("/").EnsureEndsWith("/"))
.Where(reservedPathTrimmed => reservedPathTrimmed.IsNullOrWhiteSpace() == false))
{
bool trimEnd = !reservedPath.EndsWith("/");
if (string.IsNullOrWhiteSpace(reservedPath))
continue;
//resolves the url to support tilde chars
string reservedPathTrimmed = IOHelper.ResolveUrl(reservedPath.Trim()).Trim().ToLower();
if (reservedPathTrimmed.Length > 0)
_newReservedList.Add(reservedPathTrimmed + (reservedPathTrimmed.EndsWith("/") ? "" : "/"));
newReservedList.Add(reservedPathTrimmed);
}
// use the new list from now on
_reservedList = _newReservedList;
_reservedList = newReservedList;
}
}
}
@@ -806,107 +799,17 @@ namespace Umbraco.Core.Configuration
//The url should be cleaned up before checking:
// * If it doesn't contain an '.' in the path then we assume it is a path based URL, if that is the case we should add an trailing '/' because all of our reservedPaths use a trailing '/'
// * We shouldn't be comparing the query at all
var pathPart = url.Split('?')[0];
if (!pathPart.Contains(".") && !pathPart.EndsWith("/"))
var pathPart = url.Split(new[] {'?'}, StringSplitOptions.RemoveEmptyEntries)[0].ToLowerInvariant();
if (pathPart.Contains(".") == false)
{
pathPart += "/";
pathPart = pathPart.EnsureEndsWith('/');
}
// return true if url starts with an element of the reserved list
return _reservedList.StartsWith(pathPart.ToLowerInvariant());
return _reservedList.Any(x => pathPart.InvariantStartsWith(x));
}
/// <summary>
/// Structure that checks in logarithmic time
/// if a given string starts with one of the added keys.
/// </summary>
private class StartsWithContainer
{
/// <summary>Internal sorted list of keys.</summary>
public SortedList<string, string> _list
= new SortedList<string, string>(StartsWithComparator.Instance);
/// <summary>
/// Adds the specified new key.
/// </summary>
/// <param name="newKey">The new key.</param>
public void Add(string newKey)
{
// if the list already contains an element that begins with newKey, return
if (String.IsNullOrEmpty(newKey) || StartsWith(newKey))
return;
// create a new collection, so the old one can still be accessed
SortedList<string, string> newList
= new SortedList<string, string>(_list.Count + 1, StartsWithComparator.Instance);
// add only keys that don't already start with newKey, others are unnecessary
foreach (string key in _list.Keys)
if (!key.StartsWith(newKey))
newList.Add(key, null);
// add the new key
newList.Add(newKey, null);
// update the list (thread safe, _list was never in incomplete state)
_list = newList;
}
/// <summary>
/// Checks if the given string starts with any of the added keys.
/// </summary>
/// <param name="target">The target.</param>
/// <returns>true if a key is found that matches the start of target</returns>
/// <remarks>
/// Runs in O(s*log(n)), with n the number of keys and s the length of target.
/// </remarks>
public bool StartsWith(string target)
{
return _list.ContainsKey(target);
}
/// <summary>Comparator that tests if a string starts with another.</summary>
/// <remarks>Not a real comparator, since it is not reflexive. (x==y does not imply y==x)</remarks>
private sealed class StartsWithComparator : IComparer<string>
{
/// <summary>Default string comparer.</summary>
private readonly static Comparer<string> _stringComparer = Comparer<string>.Default;
/// <summary>Gets an instance of the StartsWithComparator.</summary>
public static readonly StartsWithComparator Instance = new StartsWithComparator();
/// <summary>
/// Tests if whole begins with all characters of part.
/// </summary>
/// <param name="part">The part.</param>
/// <param name="whole">The whole.</param>
/// <returns>
/// Returns 0 if whole starts with part, otherwise performs standard string comparison.
/// </returns>
public int Compare(string part, string whole)
{
// let the default string comparer deal with null or when part is not smaller then whole
if (part == null || whole == null || part.Length >= whole.Length)
return _stringComparer.Compare(part, whole);
////ensure both have a / on the end
//part = part.EndsWith("/") ? part : part + "/";
//whole = whole.EndsWith("/") ? whole : whole + "/";
//if (part.Length >= whole.Length)
// return _stringComparer.Compare(part, whole);
// loop through all characters that part and whole have in common
int pos = 0;
bool match;
do
{
match = (part[pos] == whole[pos]);
} while (match && ++pos < part.Length);
// return result of last comparison
return match ? 0 : (part[pos] < whole[pos] ? -1 : 1);
}
}
}
}
@@ -280,6 +280,18 @@ namespace Umbraco.Core.Configuration.UmbracoSettings
}
}
[ConfigurationProperty("EnableInheritedDocumentTypes")]
internal InnerTextConfigurationElement<bool> EnableInheritedDocumentTypes
{
get
{
return new OptionalInnerTextConfigurationElement<bool>(
(InnerTextConfigurationElement<bool>) this["EnableInheritedDocumentTypes"],
//set the default
true);
}
}
string IContentSection.NotificationEmailAddress
{
get { return Notifications.NotificationEmailAddress; }
@@ -414,5 +426,10 @@ namespace Umbraco.Core.Configuration.UmbracoSettings
{
get { return DefaultDocumentTypeProperty; }
}
bool IContentSection.EnableInheritedDocumentTypes
{
get { return EnableInheritedDocumentTypes; }
}
}
}
@@ -59,5 +59,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings
bool GlobalPreviewStorageEnabled { get; }
string DefaultDocumentTypeProperty { get; }
bool EnableInheritedDocumentTypes { get; }
}
}
@@ -6,7 +6,7 @@ namespace Umbraco.Core.Configuration
{
public class UmbracoVersion
{
private static readonly Version Version = new Version("7.3.0");
private static readonly Version Version = new Version("7.4.1");
/// <summary>
/// Gets the current version of Umbraco.
@@ -24,7 +24,7 @@ namespace Umbraco.Core.Configuration
/// Gets the version comment (like beta or RC).
/// </summary>
/// <value>The version comment.</value>
public static string CurrentComment { get { return "beta2"; } }
public static string CurrentComment { get { return ""; } }
// Get the version of the umbraco.dll by looking at a class in that dll
// Had to do it like this due to medium trust issues, see: http://haacked.com/archive/2010/11/04/assembly-location-and-medium-trust.aspx
+19 -3
View File
@@ -43,7 +43,7 @@
public const string Users = "users";
/// <summary>
/// Application alias for the users section.
/// Application alias for the forms section.
/// </summary>
public const string Forms = "forms";
}
@@ -59,7 +59,7 @@
public const string Content = "content";
/// <summary>
/// alias for the media tree.
/// alias for the member tree.
/// </summary>
public const string Members = "member";
@@ -71,7 +71,7 @@
/// <summary>
/// alias for the datatype tree.
/// </summary>
public const string DataTypes = "datatype";
public const string DataTypes = "dataTypes";
/// <summary>
/// alias for the dictionary tree.
@@ -80,6 +80,22 @@
public const string Stylesheets = "stylesheets";
/// <summary>
/// alias for the document type tree.
/// </summary>
public const string DocumentTypes = "documentTypes";
/// <summary>
/// alias for the media type tree.
/// </summary>
public const string MediaTypes = "mediaTypes";
/// <summary>
/// alias for the member type tree.
/// </summary>
public const string MemberTypes = "memberTypes";
/// <summary>
/// alias for the template tree.
/// </summary>
+1 -1
View File
@@ -206,7 +206,7 @@ namespace Umbraco.Core
/// </summary>
internal const string StandardPropertiesGroupName = "Membership";
internal static Dictionary<string, PropertyType> GetStandardPropertyTypeStubs()
public static Dictionary<string, PropertyType> GetStandardPropertyTypeStubs()
{
return new Dictionary<string, PropertyType>
{
+53
View File
@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Umbraco.Core
{
public static partial class Constants
{
public static class Icons
{
/// <summary>
/// System contenttype icon
/// </summary>
public const string ContentType = "icon-arrangement";
/// <summary>
/// System datatype icon
/// </summary>
public const string DataType = "icon-autofill";
/// <summary>
/// System property editor icon
/// </summary>
public const string PropertyEditor = "icon-autofill";
/// <summary>
/// System macro icon
/// </summary>
public const string Macro = "icon-settings-alt";
/// <summary>
/// System member icon
/// </summary>
public const string Member = "icon-user";
/// <summary>
/// System member icon
/// </summary>
public const string MemberType = "icon-users";
/// <summary>
/// System member icon
/// </summary>
public const string Template = "icon-layout";
}
}
}
+125 -68
View File
@@ -2,91 +2,148 @@
namespace Umbraco.Core
{
public static partial class Constants
{
/// <summary>
/// Defines the identifiers for Umbraco object types as constants for easy centralized access/management.
/// </summary>
public static class ObjectTypes
{
/// <summary>
/// Guid for a Content Item object.
/// </summary>
public const string ContentItem = "10E2B09F-C28B-476D-B77A-AA686435E44A";
public static partial class Constants
{
/// <summary>
/// Defines the identifiers for Umbraco object types as constants for easy centralized access/management.
/// </summary>
public static class ObjectTypes
{
/// <summary>
/// Guid for a data type container
/// </summary>
public const string DataTypeContainer = "521231E3-8B37-469C-9F9D-51AFC91FEB7B";
/// <summary>
/// Guid for a Content Item Type object.
/// </summary>
public const string ContentItemType = "7A333C54-6F43-40A4-86A2-18688DC7E532";
/// <summary>
/// Guid for a data type container
/// </summary>
public static readonly Guid DataTypeContainerGuid = new Guid(DataTypeContainer);
/// <summary>
/// Guid for the Content Recycle Bin.
/// </summary>
public const string ContentRecycleBin = "01BB7FF2-24DC-4C0C-95A2-C24EF72BBAC8";
/// <summary>
/// Guid for a doc type container
/// </summary>
public const string DocumentTypeContainer = "2F7A2769-6B0B-4468-90DD-AF42D64F7F16";
/// <summary>
/// Guid for a DataType object.
/// </summary>
public const string DataType = "30A2A501-1978-4DDB-A57B-F7EFED43BA3C";
/// <summary>
/// Guid for a doc type container
/// </summary>
public static readonly Guid DocumentTypeContainerGuid = new Guid(DocumentTypeContainer);
/// <summary>
/// Guid for a Document object.
/// </summary>
public const string Document = "C66BA18E-EAF3-4CFF-8A22-41B16D66A972";
/// <summary>
/// Guid for a doc type container
/// </summary>
public const string MediaTypeContainer = "42AEF799-B288-4744-9B10-BE144B73CDC4";
/// <summary>
/// Guid for a Document Type object.
/// </summary>
public const string DocumentType = "A2CB7800-F571-4787-9638-BC48539A0EFB";
/// <summary>
/// Guid for a doc type container
/// </summary>
public static readonly Guid MediaTypeContainerGuid = new Guid(MediaTypeContainer);
/// <summary>
/// Guid for a Media object.
/// </summary>
public const string Media = "B796F64C-1F99-4FFB-B886-4BF4BC011A9C";
/// <summary>
/// Guid for a Content Item object.
/// </summary>
public const string ContentItem = "10E2B09F-C28B-476D-B77A-AA686435E44A";
/// <summary>
/// Guid for the Media Recycle Bin.
/// </summary>
public const string MediaRecycleBin = "CF3D8E34-1C1C-41e9-AE56-878B57B32113";
/// <summary>
/// Guid for a Content Item Type object.
/// </summary>
public const string ContentItemType = "7A333C54-6F43-40A4-86A2-18688DC7E532";
/// <summary>
/// Guid for a Media Type object.
/// </summary>
public const string MediaType = "4EA4382B-2F5A-4C2B-9587-AE9B3CF3602E";
/// <summary>
/// Guid for the Content Recycle Bin.
/// </summary>
public const string ContentRecycleBin = "01BB7FF2-24DC-4C0C-95A2-C24EF72BBAC8";
/// <summary>
/// Guid for a Member object.
/// </summary>
public const string Member = "39EB0F98-B348-42A1-8662-E7EB18487560";
/// <summary>
/// Guid for a DataType object.
/// </summary>
public const string DataType = "30A2A501-1978-4DDB-A57B-F7EFED43BA3C";
/// <summary>
/// Guid for a Member Group object.
/// </summary>
public const string MemberGroup = "366E63B9-880F-4E13-A61C-98069B029728";
/// <summary>
/// Guid for a DataType object.
/// </summary>
public static readonly Guid DataTypeGuid = new Guid(DataType);
/// <summary>
/// Guid for a Member Type object.
/// </summary>
public const string MemberType = "9B5416FB-E72F-45A9-A07B-5A9A2709CE43";
/// <summary>
/// Guid for a Document object.
/// </summary>
public const string Document = "C66BA18E-EAF3-4CFF-8A22-41B16D66A972";
/// <summary>
/// Guid for a Stylesheet object.
/// </summary>
/// <summary>
/// Guid for a Document Type object.
/// </summary>
public const string DocumentType = "A2CB7800-F571-4787-9638-BC48539A0EFB";
/// <summary>
/// Guid for a Document Type object.
/// </summary>
public static readonly Guid DocumentTypeGuid = new Guid(DocumentType);
/// <summary>
/// Guid for a Media object.
/// </summary>
public const string Media = "B796F64C-1F99-4FFB-B886-4BF4BC011A9C";
/// <summary>
/// Guid for the Media Recycle Bin.
/// </summary>
public const string MediaRecycleBin = "CF3D8E34-1C1C-41e9-AE56-878B57B32113";
/// <summary>
/// Guid for a Media Type object.
/// </summary>
public const string MediaType = "4EA4382B-2F5A-4C2B-9587-AE9B3CF3602E";
/// <summary>
/// Guid for a Media Type object.
/// </summary>
public static readonly Guid MediaTypeGuid = new Guid(MediaType);
/// <summary>
/// Guid for a Member object.
/// </summary>
public const string Member = "39EB0F98-B348-42A1-8662-E7EB18487560";
/// <summary>
/// Guid for a Member Group object.
/// </summary>
public const string MemberGroup = "366E63B9-880F-4E13-A61C-98069B029728";
/// <summary>
/// Guid for a Member Type object.
/// </summary>
public const string MemberType = "9B5416FB-E72F-45A9-A07B-5A9A2709CE43";
/// <summary>
/// Guid for a Member Type object.
/// </summary>
public static readonly Guid MemberTypeGuid = new Guid(MemberType);
/// <summary>
/// Guid for a Stylesheet object.
/// </summary>
[Obsolete("This no longer exists in the database")]
public const string Stylesheet = "9F68DA4F-A3A8-44C2-8226-DCBD125E4840";
[Obsolete("This no longer exists in the database")]
internal const string StylesheetProperty = "5555da4f-a123-42b2-4488-dcdfb25e4111";
/// <summary>
/// Guid for the System Root.
/// </summary>
public const string SystemRoot = "EA7D8624-4CFE-4578-A871-24AA946BF34D";
/// <summary>
/// Guid for the System Root.
/// </summary>
public const string SystemRoot = "EA7D8624-4CFE-4578-A871-24AA946BF34D";
/// <summary>
/// Guid for a Template object.
/// </summary>
public const string Template = "6FBDE604-4178-42CE-A10B-8A2600A2F07D";
}
}
/// <summary>
/// Guid for a Template object.
/// </summary>
public const string Template = "6FBDE604-4178-42CE-A10B-8A2600A2F07D";
/// <summary>
/// Guid for a Lock object.
/// </summary>
public const string LockObject = "87A9F1FF-B1E4-4A25-BABB-465A4A47EC41";
}
}
}
@@ -158,6 +158,11 @@ namespace Umbraco.Core
/// </summary>
public const string IntegerAlias = "Umbraco.Integer";
/// <summary>
/// Alias for the Decimal datatype.
/// </summary>
public const string DecimalAlias = "Umbraco.Decimal";
/// <summary>
/// Alias for the listview datatype.
/// </summary>
@@ -310,13 +315,13 @@ namespace Umbraco.Core
public const string TextboxAlias = "Umbraco.Textbox";
/// <summary>
/// Guid for the Textbox multiple datatype.
/// Guid for the Textarea datatype.
/// </summary>
[Obsolete("GUIDs are no longer used to reference Property Editors, use the Alias constant instead. This will be removed in future versions")]
public const string TextboxMultiple = "67DB8357-EF57-493E-91AC-936D305E0F2A";
/// <summary>
/// Alias for the Textbox multiple datatype.
/// Alias for the Textarea datatype.
/// </summary>
public const string TextboxMultipleAlias = "Umbraco.TextboxMultiple";
@@ -0,0 +1,31 @@
namespace Umbraco.Core
{
public static partial class Constants
{
/// <summary>
/// Defines the identifiers for property-type groups conventions that are used within the Umbraco core.
/// </summary>
public static class PropertyTypeGroups
{
/// <summary>
/// Guid for a Image PropertyTypeGroup object.
/// </summary>
public const string Image = "79ED4D07-254A-42CF-8FA9-EBE1C116A596";
/// <summary>
/// Guid for a File PropertyTypeGroup object.
/// </summary>
public const string File = "50899F9C-023A-4466-B623-ABA9049885FE";
/// <summary>
/// Guid for a Image PropertyTypeGroup object.
/// </summary>
public const string Contents = "79995FA2-63EE-453C-A29B-2E66F324CDBE";
/// <summary>
/// Guid for a Image PropertyTypeGroup object.
/// </summary>
public const string Membership = "0756729D-D665-46E3-B84A-37ACEAA614F8";
}
}
}
+2
View File
@@ -26,6 +26,8 @@
public const int DefaultMediaListViewDataTypeId = -96;
public const int DefaultMembersListViewDataTypeId = -97;
// identifiers for lock objects
public const int ServersLock = -331;
}
}
}
+12 -1
View File
@@ -1,4 +1,7 @@
namespace Umbraco.Core
using System;
using System.ComponentModel;
namespace Umbraco.Core
{
public static partial class Constants
{
@@ -7,6 +10,12 @@
/// </summary>
public static class Web
{
public const string UmbracoContextDataToken = "umbraco-context";
public const string UmbracoDataToken = "umbraco";
public const string PublishedDocumentRequestDataToken = "umbraco-doc-request";
public const string CustomRouteDataToken = "umbraco-custom-route";
public const string UmbracoRouteDefinitionDataToken = "umbraco-route-def";
/// <summary>
/// The preview cookie name
/// </summary>
@@ -15,6 +24,8 @@
/// <summary>
/// The auth cookie name
/// </summary>
[Obsolete("DO NOT USE THIS, USE ISecuritySection.AuthCookieName, this will be removed in future versions")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string AuthCookieName = "UMB_UCONTEXT";
}
+32 -11
View File
@@ -136,7 +136,10 @@ namespace Umbraco.Core
{
try
{
x.OnApplicationInitialized(UmbracoApplication, ApplicationContext);
using (ProfilingLogger.DebugDuration<CoreBootManager>(string.Format("Executing {0} in ApplicationInitialized", x.GetType())))
{
x.OnApplicationInitialized(UmbracoApplication, ApplicationContext);
}
}
catch (Exception ex)
{
@@ -159,15 +162,16 @@ namespace Umbraco.Core
/// <returns></returns>
protected virtual ServiceContext CreateServiceContext(DatabaseContext dbContext, IDatabaseFactory dbFactory)
{
//default transient factory
var msgFactory = new TransientMessagesFactory();
return new ServiceContext(
new RepositoryFactory(ApplicationCache, ProfilingLogger.Logger, dbContext.SqlSyntax, UmbracoConfig.For.UmbracoSettings()),
new PetaPocoUnitOfWorkProvider(dbFactory),
new FileUnitOfWorkProvider(),
new PublishingStrategy(),
new PublishingStrategy(msgFactory, ProfilingLogger.Logger),
ApplicationCache,
ProfilingLogger.Logger,
//default transient factory
new TransientMessagesFactory());
msgFactory);
}
/// <summary>
@@ -187,10 +191,16 @@ namespace Umbraco.Core
protected virtual CacheHelper CreateApplicationCache()
{
var cacheHelper = new CacheHelper(
new ObjectCacheRuntimeCacheProvider(),
//we need to have the dep clone runtime cache provider to ensure
//all entities are cached properly (cloned in and cloned out)
new DeepCloneRuntimeCacheProvider(new ObjectCacheRuntimeCacheProvider()),
new StaticCacheProvider(),
//we have no request based cache when not running in web-based context
new NullCacheProvider());
new NullCacheProvider(),
new IsolatedRuntimeCache(type =>
//we need to have the dep clone runtime cache provider to ensure
//all entities are cached properly (cloned in and cloned out)
new DeepCloneRuntimeCacheProvider(new ObjectCacheRuntimeCacheProvider())));
return cacheHelper;
}
@@ -292,7 +302,10 @@ namespace Umbraco.Core
{
try
{
x.OnApplicationStarting(UmbracoApplication, ApplicationContext);
using (ProfilingLogger.DebugDuration<CoreBootManager>(string.Format("Executing {0} in ApplicationStarting", x.GetType())))
{
x.OnApplicationStarting(UmbracoApplication, ApplicationContext);
}
}
catch (Exception ex)
{
@@ -343,7 +356,10 @@ namespace Umbraco.Core
{
try
{
x.OnApplicationStarted(UmbracoApplication, ApplicationContext);
using (ProfilingLogger.DebugDuration<CoreBootManager>(string.Format("Executing {0} in ApplicationStarted", x.GetType())))
{
x.OnApplicationStarted(UmbracoApplication, ApplicationContext);
}
}
catch (Exception ex)
{
@@ -379,14 +395,19 @@ namespace Umbraco.Core
if (ApplicationContext.IsConfigured == false) return;
if (ApplicationContext.DatabaseContext.IsDatabaseConfigured == false) return;
//try now
if (ApplicationContext.DatabaseContext.CanConnect)
return;
var currentTry = 0;
while (currentTry < 5)
{
//first wait, then retry
Thread.Sleep(1000);
if (ApplicationContext.DatabaseContext.CanConnect)
break;
//wait and retry
Thread.Sleep(1000);
currentTry++;
}
@@ -394,7 +415,6 @@ namespace Umbraco.Core
{
throw new UmbracoStartupFailedException("Umbraco cannot start. A connection string is configured but the Umbraco cannot connect to the database.");
}
}
/// <summary>
@@ -426,6 +446,7 @@ namespace Umbraco.Core
new Lazy<Type>(() => typeof (DelimitedManifestValueValidator)),
new Lazy<Type>(() => typeof (EmailValidator)),
new Lazy<Type>(() => typeof (IntegerValidator)),
new Lazy<Type>(() => typeof (DecimalValidator)),
});
//by default we'll use the db server registrar unless the developer has the legacy
+44
View File
@@ -0,0 +1,44 @@
using System;
using System.Diagnostics;
using System.Threading;
namespace Umbraco.Core
{
public static class DelegateExtensions
{
public static Attempt<T> RetryUntilSuccessOrTimeout<T>(this Func<Attempt<T>> task, TimeSpan timeout, TimeSpan pause)
{
if (pause.TotalMilliseconds < 0)
{
throw new ArgumentException("pause must be >= 0 milliseconds");
}
var stopwatch = Stopwatch.StartNew();
do
{
var result = task();
if (result) { return result; }
Thread.Sleep((int)pause.TotalMilliseconds);
}
while (stopwatch.Elapsed < timeout);
return Attempt<T>.Fail();
}
public static Attempt<T> RetryUntilSuccessOrMaxAttempts<T>(this Func<int, Attempt<T>> task, int totalAttempts, TimeSpan pause)
{
if (pause.TotalMilliseconds < 0)
{
throw new ArgumentException("pause must be >= 0 milliseconds");
}
int attempts = 0;
do
{
attempts++;
var result = task(attempts);
if (result) { return result; }
Thread.Sleep((int)pause.TotalMilliseconds);
}
while (attempts < totalAttempts);
return Attempt<T>.Fail();
}
}
}
+44 -21
View File
@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Web;
@@ -12,6 +13,12 @@ namespace Umbraco.Core
/// </summary>
public class DisposableTimer : DisposableObject
{
private readonly ILogger _logger;
private readonly LogType? _logType;
private readonly IProfiler _profiler;
private readonly Type _loggerType;
private readonly string _endMessage;
private readonly IDisposable _profilerStep;
private readonly Stopwatch _stopwatch = Stopwatch.StartNew();
private readonly Action<long> _callback;
@@ -25,25 +32,12 @@ namespace Umbraco.Core
if (logger == null) throw new ArgumentNullException("logger");
if (loggerType == null) throw new ArgumentNullException("loggerType");
_callback = x =>
{
if (profiler != null)
{
profiler.DisposeIfDisposable();
}
switch (logType)
{
case LogType.Debug:
logger.Debug(loggerType, () => endMessage + " (took " + x + "ms)");
break;
case LogType.Info:
logger.Info(loggerType, () => endMessage + " (took " + x + "ms)");
break;
default:
throw new ArgumentOutOfRangeException("logType");
}
};
_logger = logger;
_logType = logType;
_profiler = profiler;
_loggerType = loggerType;
_endMessage = endMessage;
switch (logType)
{
case LogType.Debug:
@@ -58,7 +52,7 @@ namespace Umbraco.Core
if (profiler != null)
{
profiler.Step(loggerType, startMessage);
_profilerStep = profiler.Step(loggerType, startMessage);
}
}
@@ -223,7 +217,36 @@ namespace Umbraco.Core
/// </summary>
protected override void DisposeResources()
{
_callback.Invoke(Stopwatch.ElapsedMilliseconds);
if (_profiler != null)
{
_profiler.DisposeIfDisposable();
}
if (_profilerStep != null)
{
_profilerStep.Dispose();
}
if (_logType.HasValue && _endMessage.IsNullOrWhiteSpace() == false && _loggerType != null && _logger != null)
{
switch (_logType)
{
case LogType.Debug:
_logger.Debug(_loggerType, () => _endMessage + " (took " + Stopwatch.ElapsedMilliseconds + "ms)");
break;
case LogType.Info:
_logger.Info(_loggerType, () => _endMessage + " (took " + Stopwatch.ElapsedMilliseconds + "ms)");
break;
default:
throw new ArgumentOutOfRangeException("logType");
}
}
if (_callback != null)
{
_callback.Invoke(Stopwatch.ElapsedMilliseconds);
}
}
}
@@ -0,0 +1,93 @@
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Reflection;
namespace Umbraco.Core.Dynamics
{
/// <summary>
/// This will check enable dynamic access to properties and methods in a case insensitive manner
/// </summary>
/// <typeparam name="T"></typeparam>
/// <remarks>
/// This works by using reflection on the type - the reflection lookup is lazy so it will not execute unless a dynamic method needs to be accessed
/// </remarks>
public abstract class CaseInsensitiveDynamicObject<T> : DynamicObject
where T: class
{
/// <summary>
/// Used for dynamic access for case insensitive property access
/// </summary>`
private static readonly Lazy<IDictionary<string, Func<T, object>>> CaseInsensitivePropertyAccess = new Lazy<IDictionary<string, Func<T, object>>>(() =>
{
var props = typeof(T).GetProperties(BindingFlags.Instance | BindingFlags.Public)
.DistinctBy(x => x.Name);
return props.Select(propInfo =>
{
var name = propInfo.Name.ToLowerInvariant();
Func<T, object> getVal = propInfo.GetValue;
return new KeyValuePair<string, Func<T, object>>(name, getVal);
}).ToDictionary(x => x.Key, x => x.Value);
});
/// <summary>
/// Used for dynamic access for case insensitive property access
/// </summary>
private static readonly Lazy<IDictionary<string, Tuple<ParameterInfo[], Func<T, object[], object>>>> CaseInsensitiveMethodAccess
= new Lazy<IDictionary<string, Tuple<ParameterInfo[], Func<T, object[], object>>>>(() =>
{
var props = typeof(T).GetMethods(BindingFlags.Instance | BindingFlags.Public)
.Where(x => x.IsSpecialName == false && x.IsVirtual == false)
.DistinctBy(x => x.Name);
return props.Select(methodInfo =>
{
var name = methodInfo.Name.ToLowerInvariant();
Func<T, object[], object> getVal = methodInfo.Invoke;
var val = new Tuple<ParameterInfo[], Func<T, object[], object>>(methodInfo.GetParameters(), getVal);
return new KeyValuePair<string, Tuple<ParameterInfo[], Func<T, object[], object>>>(name, val);
}).ToDictionary(x => x.Key, x => x.Value);
});
public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
{
var name = binder.Name.ToLowerInvariant();
if (CaseInsensitiveMethodAccess.Value.ContainsKey(name) == false)
return base.TryInvokeMember(binder, args, out result);
var val = CaseInsensitiveMethodAccess.Value[name];
var parameters = val.Item1;
var callback = val.Item2;
var fullArgs = new List<object>(args);
if (args.Length <= parameters.Length)
{
//need to fill them up if they're optional
for (var i = args.Length; i < parameters.Length; i++)
{
if (parameters[i].IsOptional)
{
fullArgs.Add(parameters[i].DefaultValue);
}
}
if (fullArgs.Count == parameters.Length)
{
result = callback((T)(object)this, fullArgs.ToArray());
return true;
}
}
return base.TryInvokeMember(binder, args, out result);
}
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
var name = binder.Name.ToLowerInvariant();
if (CaseInsensitivePropertyAccess.Value.ContainsKey(name) == false)
return base.TryGetMember(binder, out result);
result = CaseInsensitivePropertyAccess.Value[name]((T)(object)this);
return true;
}
}
}
@@ -64,7 +64,7 @@ namespace Umbraco.Core.Dynamics
/// </summary>
public class DynamicXmlConverter : TypeConverter
{
public override bool CanConvertTo(ITypeDescriptorContext context, Type sourceType)
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
var convertableTypes = new[]
{
@@ -78,8 +78,8 @@ namespace Umbraco.Core.Dynamics
typeof(RawXmlDocument)
};
return convertableTypes.Any(x => TypeHelper.IsTypeAssignableFrom(x, sourceType))
|| base.CanConvertFrom(context, sourceType);
return convertableTypes.Any(x => TypeHelper.IsTypeAssignableFrom(x, destinationType))
|| base.CanConvertFrom(context, destinationType);
}
public override object ConvertTo(
@@ -5,8 +5,10 @@ using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Linq.Expressions;
using System.Text;
using System.Web.Services.Description;
using Umbraco.Core.Cache;
using Umbraco.Core.Logging;
namespace Umbraco.Core.Dynamics
{
@@ -20,6 +22,20 @@ namespace Umbraco.Core.Dynamics
/// </summary>
private static readonly ConcurrentDictionary<Tuple<Type, string, int>, MethodInfo[]> MethodCache = new ConcurrentDictionary<Tuple<Type, string, int>, MethodInfo[]>();
private static IEnumerable<Type> GetTypes(Assembly a)
{
try
{
return TypeFinder.GetTypesWithFormattedException(a);
}
catch (ReflectionTypeLoadException ex)
{
// is this going to flood the log?
LogHelper.Error(typeof (ExtensionMethodFinder), "Failed to get types.", ex);
return Enumerable.Empty<Type>();
}
}
/// <summary>
/// Returns the enumerable of all extension method info's in the app domain = USE SPARINGLY!!!
/// </summary>
@@ -36,7 +52,7 @@ namespace Umbraco.Core.Dynamics
// assemblies that contain extension methods
.Where(a => a.IsDefined(typeof (ExtensionAttribute), false))
// types that contain extension methods
.SelectMany(a => a.GetTypes()
.SelectMany(a => GetTypes(a)
.Where(t => t.IsDefined(typeof (ExtensionAttribute), false) && t.IsSealed && t.IsGenericType == false && t.IsNested == false))
// actual extension methods
.SelectMany(t => t.GetMethods(BindingFlags.Static | BindingFlags.Public)
@@ -45,9 +61,9 @@ namespace Umbraco.Core.Dynamics
.Concat(typeof (Enumerable).GetMethods(BindingFlags.Static | BindingFlags.Public))
//If we don't do this then we'll be scanning all assemblies each time!
.ToArray(),
//only cache for 5 minutes
timeout: TimeSpan.FromMinutes(5),
timeout: TimeSpan.FromMinutes(5),
//each time this is accessed it will be for 5 minutes longer
isSliding:true);
@@ -57,7 +73,7 @@ namespace Umbraco.Core.Dynamics
/// Returns all extension methods found matching the definition
/// </summary>
/// <param name="runtimeCache">
/// The runtime cache is used to temporarily cache all extension methods found in the app domain so that
/// The runtime cache is used to temporarily cache all extension methods found in the app domain so that
/// while we search for individual extension methods, the process will be reasonably 'quick'. We then statically
/// cache the MethodInfo's that we are looking for and then the runtime cache will expire and give back all that memory.
/// </param>
@@ -78,7 +94,7 @@ namespace Umbraco.Core.Dynamics
{
var candidates = GetAllExtensionMethodsInAppDomain(runtimeCache);
// filter by name
// filter by name
var filtr1 = candidates.Where(m => m.Name == name);
// filter by args count
@@ -102,7 +118,7 @@ namespace Umbraco.Core.Dynamics
return filtr3.ToArray();
});
}
private static MethodInfo DetermineMethodFromParams(IEnumerable<MethodInfo> methods, Type genericType, IEnumerable<object> args)
@@ -123,12 +139,12 @@ namespace Umbraco.Core.Dynamics
types = method.GetParameters().Select(pi => pi.ParameterType).Skip(1)
});
//This type comparer will check
//This type comparer will check
var typeComparer = new DelegateEqualityComparer<Type>(
//Checks if the argument type passed in can be assigned from the parameter type in the method. For
//Checks if the argument type passed in can be assigned from the parameter type in the method. For
// example, if the argument type is HtmlHelper<MyModel> but the method parameter type is HtmlHelper then
// it will match because the argument is assignable to that parameter type and will be able to execute
TypeHelper.IsTypeAssignableFrom,
TypeHelper.IsTypeAssignableFrom,
//This will not ever execute but if it does we need to get the hash code of the string because the hash
// code of a type is random
type => type.FullName.GetHashCode());
@@ -159,7 +175,7 @@ namespace Umbraco.Core.Dynamics
.ToArray();
var methods = GetAllExtensionMethods(runtimeCache, thisType, name, args.Length).ToArray();
return DetermineMethodFromParams(methods, genericType, args);
}
}
@@ -1,5 +1,8 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Security.Permissions;
using Umbraco.Core.Models.PublishedContent;
namespace Umbraco.Core.Events
{
@@ -11,11 +14,19 @@ namespace Umbraco.Core.Events
{
private bool _cancel;
public CancellableEventArgs(bool canCancel, EventMessages messages, IDictionary<string, object> additionalData)
{
CanCancel = canCancel;
Messages = messages;
AdditionalData = new ReadOnlyDictionary<string, object>(additionalData);
}
public CancellableEventArgs(bool canCancel, EventMessages eventMessages)
{
if (eventMessages == null) throw new ArgumentNullException("eventMessages");
CanCancel = canCancel;
Messages = eventMessages;
AdditionalData = new ReadOnlyDictionary<string, object>(new Dictionary<string, object>());
}
public CancellableEventArgs(bool canCancel)
@@ -23,6 +34,7 @@ namespace Umbraco.Core.Events
CanCancel = canCancel;
//create a standalone messages
Messages = new EventMessages();
AdditionalData = new ReadOnlyDictionary<string, object>(new Dictionary<string, object>());
}
public CancellableEventArgs(EventMessages eventMessages)
@@ -63,9 +75,29 @@ namespace Umbraco.Core.Events
}
}
/// <summary>
/// if this instance supports cancellation, this will set Cancel to true with an affiliated cancellation message
/// </summary>
/// <param name="cancelationMessage"></param>
public void CancelOperation(EventMessage cancelationMessage)
{
Cancel = true;
cancelationMessage.IsDefaultEventMessage = true;
Messages.Add(cancelationMessage);
}
/// <summary>
/// Returns the EventMessages object which is used to add messages to the message collection for this event
/// </summary>
public EventMessages Messages { get; private set; }
/// <summary>
/// In some cases raised evens might need to contain additional arbitrary readonly data which can be read by event subscribers
/// </summary>
/// <remarks>
/// This allows for a bit of flexibility in our event raising - it's not pretty but we need to maintain backwards compatibility
/// so we cannot change the strongly typed nature for some events.
/// </remarks>
public ReadOnlyDictionary<string, object> AdditionalData { get; private set; }
}
}
@@ -1,3 +1,4 @@
using System.Collections.Generic;
using System.Security.Permissions;
using Umbraco.Core.Models;
using Umbraco.Core.Models.EntityBase;
@@ -11,8 +12,13 @@ namespace Umbraco.Core.Events
[HostProtection(SecurityAction.LinkDemand, SharedState = true)]
public class CancellableObjectEventArgs<T> : CancellableEventArgs
{
public CancellableObjectEventArgs(T eventObject, bool canCancel, EventMessages messages, IDictionary<string, object> additionalData)
: base(canCancel, messages, additionalData)
{
EventObject = eventObject;
}
public CancellableObjectEventArgs(T eventObject, bool canCancel, EventMessages eventMessages)
public CancellableObjectEventArgs(T eventObject, bool canCancel, EventMessages eventMessages)
: base(canCancel, eventMessages)
{
EventObject = eventObject;
+57 -7
View File
@@ -4,12 +4,56 @@ namespace Umbraco.Core.Events
{
public class DeleteEventArgs<TEntity> : CancellableObjectEventArgs<IEnumerable<TEntity>>
{
/// <summary>
/// Constructor accepting multiple entities that are used in the delete operation
/// </summary>
/// <param name="eventObject"></param>
/// <param name="canCancel"></param>
public DeleteEventArgs(IEnumerable<TEntity> eventObject, bool canCancel) : base(eventObject, canCancel)
/// <summary>
/// Constructor accepting multiple entities that are used in the delete operation
/// </summary>
/// <param name="eventObject"></param>
/// <param name="canCancel"></param>
/// <param name="eventMessages"></param>
public DeleteEventArgs(IEnumerable<TEntity> eventObject, bool canCancel, EventMessages eventMessages) : base(eventObject, canCancel, eventMessages)
{
MediaFilesToDelete = new List<string>();
}
/// <summary>
/// Constructor accepting multiple entities that are used in the delete operation
/// </summary>
/// <param name="eventObject"></param>
/// <param name="eventMessages"></param>
public DeleteEventArgs(IEnumerable<TEntity> eventObject, EventMessages eventMessages) : base(eventObject, eventMessages)
{
MediaFilesToDelete = new List<string>();
}
/// <summary>
/// Constructor accepting a single entity instance
/// </summary>
/// <param name="eventObject"></param>
/// <param name="eventMessages"></param>
public DeleteEventArgs(TEntity eventObject, EventMessages eventMessages)
: base(new List<TEntity> { eventObject }, eventMessages)
{
MediaFilesToDelete = new List<string>();
}
/// <summary>
/// Constructor accepting a single entity instance
/// </summary>
/// <param name="eventObject"></param>
/// <param name="canCancel"></param>
/// <param name="eventMessages"></param>
public DeleteEventArgs(TEntity eventObject, bool canCancel, EventMessages eventMessages)
: base(new List<TEntity> { eventObject }, canCancel, eventMessages)
{
MediaFilesToDelete = new List<string>();
}
/// <summary>
/// Constructor accepting multiple entities that are used in the delete operation
/// </summary>
/// <param name="eventObject"></param>
/// <param name="canCancel"></param>
public DeleteEventArgs(IEnumerable<TEntity> eventObject, bool canCancel) : base(eventObject, canCancel)
{
MediaFilesToDelete = new List<string>();
}
@@ -60,7 +104,13 @@ namespace Umbraco.Core.Events
public class DeleteEventArgs : CancellableEventArgs
{
public DeleteEventArgs(int id, bool canCancel)
public DeleteEventArgs(int id, bool canCancel, EventMessages eventMessages)
: base(canCancel, eventMessages)
{
Id = id;
}
public DeleteEventArgs(int id, bool canCancel)
: base(canCancel)
{
Id = id;
+2 -52
View File
@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Umbraco.Core.Events
@@ -8,34 +9,6 @@ namespace Umbraco.Core.Events
/// </summary>
public static class EventExtensions
{
/// <summary>
/// Raises the event and checks if a cancelation has occurred, if so it checks if any messages have been
/// added to the event messages collection and if not it adds a default cancelation message
/// </summary>
/// <typeparam name="TSender"></typeparam>
/// <typeparam name="TArgs"></typeparam>
/// <param name="eventHandler"></param>
/// <param name="evtMsgs"></param>
/// <param name="args"></param>
/// <param name="sender"></param>
/// <returns></returns>
public static bool IsRaisedEventCancelled<TSender, TArgs>(
this TypedEventHandler<TSender, TArgs> eventHandler,
EventMessages evtMsgs,
Func<EventMessages, TArgs> args,
TSender sender)
where TArgs : CancellableEventArgs
{
var evtArgs = args(evtMsgs);
if (eventHandler != null)
{
eventHandler(sender, evtArgs);
}
return evtArgs.Cancel;
}
/// <summary>
/// Raises the event and returns a boolean value indicating if the event was cancelled
/// </summary>
@@ -56,30 +29,7 @@ namespace Umbraco.Core.Events
return args.Cancel;
}
/// <summary>
/// Raises the event with EventMessages
/// </summary>
/// <typeparam name="TSender"></typeparam>
/// <typeparam name="TArgs"></typeparam>
/// <param name="eventHandler"></param>
/// <param name="evtMsgs"></param>
/// <param name="args"></param>
/// <param name="sender"></param>
public static void RaiseEvent<TSender, TArgs>(
this TypedEventHandler<TSender, TArgs> eventHandler,
EventMessages evtMsgs,
Func<EventMessages, TArgs> args,
TSender sender)
where TArgs : EventArgs
{
if (eventHandler != null)
{
var evtArgs = args(evtMsgs);
eventHandler(sender, evtArgs);
}
}
/// <summary>
/// Raises the event
/// </summary>
+5
View File
@@ -18,5 +18,10 @@ namespace Umbraco.Core.Events
public string Category { get; private set; }
public string Message { get; private set; }
public EventMessageType MessageType { get; private set; }
/// <summary>
/// This is used to track if this message should be used as a default message so that Umbraco doesn't also append it's own default messages
/// </summary>
internal bool IsDefaultEventMessage { get; set; }
}
}
+63 -24
View File
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.ComponentModel;
using Semver;
using Umbraco.Core.Configuration;
using Umbraco.Core.Persistence.Migrations;
namespace Umbraco.Core.Events
@@ -13,23 +14,49 @@ namespace Umbraco.Core.Events
/// </summary>
/// <param name="eventObject"></param>
/// <param name="targetVersion"></param>
/// <param name="productName"></param>
/// <param name="canCancel"></param>
/// <param name="configuredVersion"></param>
public MigrationEventArgs(IList<IMigration> eventObject, SemVersion configuredVersion, SemVersion targetVersion, bool canCancel)
: base(eventObject, canCancel)
{
ConfiguredSemVersion = configuredVersion;
TargetSemVersion = targetVersion;
}
public MigrationEventArgs(IList<IMigration> eventObject, SemVersion configuredVersion, SemVersion targetVersion, string productName, bool canCancel)
: this(eventObject, null, configuredVersion, targetVersion, productName, canCancel)
{ }
[Obsolete("Use constructor accepting UmbracoVersion instances instead")]
/// <summary>
/// Constructor accepting multiple migrations that are used in the migration runner
/// </summary>
/// <param name="eventObject"></param>
/// <param name="targetVersion"></param>
/// <param name="canCancel"></param>
/// <param name="configuredVersion"></param>
[Obsolete("Use constructor accepting a product name instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public MigrationEventArgs(IList<IMigration> eventObject, SemVersion configuredVersion, SemVersion targetVersion, bool canCancel)
: this(eventObject, null, configuredVersion, targetVersion, GlobalSettings.UmbracoMigrationName, canCancel)
{ }
[Obsolete("Use constructor accepting SemVersion instances and a product name instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public MigrationEventArgs(IList<IMigration> eventObject, Version configuredVersion, Version targetVersion, bool canCancel)
: base(eventObject, canCancel)
{
ConfiguredSemVersion = new SemVersion(configuredVersion);
TargetSemVersion = new SemVersion(targetVersion);
}
: this(eventObject, null, new SemVersion(configuredVersion), new SemVersion(targetVersion), GlobalSettings.UmbracoMigrationName, canCancel)
{ }
/// <summary>
/// Constructor accepting multiple migrations that are used in the migration runner
/// </summary>
/// <param name="eventObject"></param>
/// <param name="migrationContext"></param>
/// <param name="targetVersion"></param>
/// <param name="productName"></param>
/// <param name="canCancel"></param>
/// <param name="configuredVersion"></param>
internal MigrationEventArgs(IList<IMigration> eventObject, MigrationContext migrationContext, SemVersion configuredVersion, SemVersion targetVersion, string productName, bool canCancel)
: base(eventObject, canCancel)
{
MigrationContext = migrationContext;
ConfiguredSemVersion = configuredVersion;
TargetSemVersion = targetVersion;
ProductName = productName;
}
/// <summary>
/// Constructor accepting multiple migrations that are used in the migration runner
@@ -39,12 +66,15 @@ namespace Umbraco.Core.Events
/// <param name="targetVersion"></param>
/// <param name="canCancel"></param>
/// <param name="configuredVersion"></param>
[Obsolete("Use constructor accepting a product name instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
internal MigrationEventArgs(IList<IMigration> eventObject, MigrationContext migrationContext, SemVersion configuredVersion, SemVersion targetVersion, bool canCancel)
: base(eventObject, canCancel)
{
MigrationContext = migrationContext;
ConfiguredSemVersion = configuredVersion;
TargetSemVersion = targetVersion;
ProductName = GlobalSettings.UmbracoMigrationName;
}
/// <summary>
@@ -53,21 +83,28 @@ namespace Umbraco.Core.Events
/// <param name="eventObject"></param>
/// <param name="configuredVersion"></param>
/// <param name="targetVersion"></param>
public MigrationEventArgs(IList<IMigration> eventObject, SemVersion configuredVersion, SemVersion targetVersion)
: base(eventObject)
{
ConfiguredSemVersion = configuredVersion;
TargetSemVersion = targetVersion;
}
/// <param name="productName"></param>
public MigrationEventArgs(IList<IMigration> eventObject, SemVersion configuredVersion, SemVersion targetVersion, string productName)
: this(eventObject, null, configuredVersion, targetVersion, productName, false)
{ }
[Obsolete("Use constructor accepting UmbracoVersion instances instead")]
/// <summary>
/// Constructor accepting multiple migrations that are used in the migration runner
/// </summary>
/// <param name="eventObject"></param>
/// <param name="configuredVersion"></param>
/// <param name="targetVersion"></param>
[Obsolete("Use constructor accepting a product name instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public MigrationEventArgs(IList<IMigration> eventObject, SemVersion configuredVersion, SemVersion targetVersion)
: this(eventObject, null, configuredVersion, targetVersion, GlobalSettings.UmbracoMigrationName, false)
{ }
[Obsolete("Use constructor accepting SemVersion instances and a product name instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public MigrationEventArgs(IList<IMigration> eventObject, Version configuredVersion, Version targetVersion)
: base(eventObject)
{
ConfiguredSemVersion = new SemVersion(configuredVersion);
TargetSemVersion = new SemVersion(targetVersion);
}
: this(eventObject, null, new SemVersion(configuredVersion), new SemVersion(targetVersion), GlobalSettings.UmbracoMigrationName, false)
{ }
/// <summary>
/// Returns all migrations that were used in the migration runner
@@ -95,6 +132,8 @@ namespace Umbraco.Core.Events
public SemVersion TargetSemVersion { get; private set; }
public string ProductName { get; private set; }
internal MigrationContext MigrationContext { get; private set; }
}
}
+43
View File
@@ -6,6 +6,49 @@ namespace Umbraco.Core.Events
{
public class MoveEventArgs<TEntity> : CancellableObjectEventArgs<TEntity>
{
/// <summary>
/// Constructor accepting a collection of MoveEventInfo objects
/// </summary>
/// <param name="canCancel"></param>
/// <param name="eventMessages"></param>
/// <param name="moveInfo">
/// A colleciton of MoveEventInfo objects that exposes all entities that have been moved during a single move operation
/// </param>
public MoveEventArgs(bool canCancel, EventMessages eventMessages, params MoveEventInfo<TEntity>[] moveInfo)
: base(default(TEntity), canCancel, eventMessages)
{
if (moveInfo.FirstOrDefault() == null)
{
throw new ArgumentException("moveInfo argument must contain at least one item");
}
MoveInfoCollection = moveInfo;
//assign the legacy props
EventObject = moveInfo.First().Entity;
ParentId = moveInfo.First().NewParentId;
}
/// <summary>
/// Constructor accepting a collection of MoveEventInfo objects
/// </summary>
/// <param name="eventMessages"></param>
/// <param name="moveInfo">
/// A colleciton of MoveEventInfo objects that exposes all entities that have been moved during a single move operation
/// </param>
public MoveEventArgs(EventMessages eventMessages, params MoveEventInfo<TEntity>[] moveInfo)
: base(default(TEntity), eventMessages)
{
if (moveInfo.FirstOrDefault() == null)
{
throw new ArgumentException("moveInfo argument must contain at least one item");
}
MoveInfoCollection = moveInfo;
//assign the legacy props
EventObject = moveInfo.First().Entity;
ParentId = moveInfo.First().NewParentId;
}
/// <summary>
/// Constructor accepting a collection of MoveEventInfo objects
/// </summary>
@@ -4,6 +4,52 @@ namespace Umbraco.Core.Events
{
public class PublishEventArgs<TEntity> : CancellableObjectEventArgs<IEnumerable<TEntity>>
{
/// <summary>
/// Constructor accepting multiple entities that are used in the publish operation
/// </summary>
/// <param name="eventObject"></param>
/// <param name="canCancel"></param>
/// <param name="isAllPublished"></param>
/// <param name="eventMessages"></param>
public PublishEventArgs(IEnumerable<TEntity> eventObject, bool canCancel, bool isAllPublished, EventMessages eventMessages)
: base(eventObject, canCancel, eventMessages)
{
IsAllRepublished = isAllPublished;
}
/// <summary>
/// Constructor accepting multiple entities that are used in the publish operation
/// </summary>
/// <param name="eventObject"></param>
/// <param name="eventMessages"></param>
public PublishEventArgs(IEnumerable<TEntity> eventObject, EventMessages eventMessages)
: base(eventObject, eventMessages)
{
}
/// <summary>
/// Constructor accepting a single entity instance
/// </summary>
/// <param name="eventObject"></param>
/// <param name="eventMessages"></param>
public PublishEventArgs(TEntity eventObject, EventMessages eventMessages)
: base(new List<TEntity> { eventObject }, eventMessages)
{
}
/// <summary>
/// Constructor accepting a single entity instance
/// </summary>
/// <param name="eventObject"></param>
/// <param name="canCancel"></param>
/// <param name="isAllPublished"></param>
/// <param name="eventMessages"></param>
public PublishEventArgs(TEntity eventObject, bool canCancel, bool isAllPublished, EventMessages eventMessages)
: base(new List<TEntity> { eventObject }, canCancel, eventMessages)
{
IsAllRepublished = isAllPublished;
}
/// <summary>
/// Constructor accepting multiple entities that are used in the publish operation
/// </summary>
+30 -6
View File
@@ -4,6 +4,18 @@ namespace Umbraco.Core.Events
{
public class SaveEventArgs<TEntity> : CancellableObjectEventArgs<IEnumerable<TEntity>>
{
/// <summary>
/// Constructor accepting multiple entities that are used in the saving operation
/// </summary>
/// <param name="eventObject"></param>
/// <param name="canCancel"></param>
/// <param name="messages"></param>
/// <param name="additionalData"></param>
public SaveEventArgs(IEnumerable<TEntity> eventObject, bool canCancel, EventMessages messages, IDictionary<string, object> additionalData)
: base(eventObject, canCancel, messages, additionalData)
{
}
/// <summary>
/// Constructor accepting multiple entities that are used in the saving operation
/// </summary>
@@ -25,12 +37,24 @@ namespace Umbraco.Core.Events
{
}
/// <summary>
/// Constructor accepting a single entity instance
/// </summary>
/// <param name="eventObject"></param>
/// <param name="eventMessages"></param>
public SaveEventArgs(TEntity eventObject, EventMessages eventMessages)
/// <summary>
/// Constructor accepting a single entity instance
/// </summary>
/// <param name="eventObject"></param>
/// <param name="canCancel"></param>
/// <param name="messages"></param>
/// <param name="additionalData"></param>
public SaveEventArgs(TEntity eventObject, bool canCancel, EventMessages messages, IDictionary<string, object> additionalData)
: base(new List<TEntity> { eventObject }, canCancel, messages, additionalData)
{
}
/// <summary>
/// Constructor accepting a single entity instance
/// </summary>
/// <param name="eventObject"></param>
/// <param name="eventMessages"></param>
public SaveEventArgs(TEntity eventObject, EventMessages eventMessages)
: base(new List<TEntity> { eventObject }, eventMessages)
{
}
@@ -0,0 +1,21 @@
using System;
namespace Umbraco.Core.Exceptions
{
internal class DataOperationException<T> : Exception
{
public T Operation { get; private set; }
public DataOperationException(T operation, string message)
:base(message)
{
Operation = operation;
}
public DataOperationException(T operation)
: base("Data operation exception: " + operation)
{
Operation = operation;
}
}
}
@@ -3,22 +3,41 @@
namespace Umbraco.Core.Exceptions
{
public class InvalidCompositionException : Exception
{
public string ContentTypeAlias { get; set; }
{
public InvalidCompositionException(string contentTypeAlias, string addedCompositionAlias, string[] propertyTypeAliass)
{
ContentTypeAlias = contentTypeAlias;
AddedCompositionAlias = addedCompositionAlias;
PropertyTypeAliases = propertyTypeAliass;
}
public string AddedCompositionAlias { get; set; }
public InvalidCompositionException(string contentTypeAlias, string[] propertyTypeAliass)
{
ContentTypeAlias = contentTypeAlias;
PropertyTypeAliases = propertyTypeAliass;
}
public string PropertyTypeAlias { get; set; }
public string ContentTypeAlias { get; private set; }
public string AddedCompositionAlias { get; private set; }
public string[] PropertyTypeAliases { get; private set; }
public override string Message
{
get
{
return string.Format(
"InvalidCompositionException - ContentType with alias '{0}' was added as a Compsition to ContentType with alias '{1}', " +
"but there was a conflict on the PropertyType alias '{2}'. " +
return AddedCompositionAlias.IsNullOrWhiteSpace()
? string.Format(
"ContentType with alias '{0}' has an invalid composition " +
"and there was a conflict on the following PropertyTypes: '{1}'. " +
"PropertyTypes must have a unique alias across all Compositions in order to compose a valid ContentType Composition.",
AddedCompositionAlias, ContentTypeAlias, PropertyTypeAlias);
ContentTypeAlias, string.Join(", ", PropertyTypeAliases))
: string.Format(
"ContentType with alias '{0}' was added as a Composition to ContentType with alias '{1}', " +
"but there was a conflict on the following PropertyTypes: '{2}'. " +
"PropertyTypes must have a unique alias across all Compositions in order to compose a valid ContentType Composition.",
AddedCompositionAlias, ContentTypeAlias, string.Join(", ", PropertyTypeAliases));
}
}
}
+33 -15
View File
@@ -152,12 +152,7 @@ namespace Umbraco.Core.IO
/// <returns>A value indicating whether the filepath is valid.</returns>
internal static bool VerifyEditPath(string filePath, string validDir)
{
if (filePath.StartsWith(MapPath(SystemDirectories.Root)) == false)
filePath = MapPath(filePath);
if (validDir.StartsWith(MapPath(SystemDirectories.Root)) == false)
validDir = MapPath(validDir);
return filePath.StartsWith(validDir);
return VerifyEditPath(filePath, new[] { validDir });
}
/// <summary>
@@ -182,15 +177,31 @@ namespace Umbraco.Core.IO
/// <returns>A value indicating whether the filepath is valid.</returns>
internal static bool VerifyEditPath(string filePath, IEnumerable<string> validDirs)
{
// this is called from ScriptRepository, PartialViewRepository, etc.
// filePath is the fullPath (rooted, filesystem path, can be trusted)
// validDirs are virtual paths (eg ~/Views)
//
// except that for templates, filePath actually is a virtual path
//TODO
// what's below is dirty, there are too many ways to get the root dir, etc.
// not going to fix everything today
var mappedRoot = MapPath(SystemDirectories.Root);
if (filePath.StartsWith(mappedRoot) == false)
filePath = MapPath(filePath);
// yes we can (see above)
//// don't trust what we get, it may contain relative segments
//filePath = Path.GetFullPath(filePath);
foreach (var dir in validDirs)
{
var validDir = dir;
if (filePath.StartsWith(MapPath(SystemDirectories.Root)) == false)
filePath = MapPath(filePath);
if (validDir.StartsWith(MapPath(SystemDirectories.Root)) == false)
if (validDir.StartsWith(mappedRoot) == false)
validDir = MapPath(validDir);
if (filePath.StartsWith(validDir))
if (PathStartsWith(filePath, validDir, Path.DirectorySeparatorChar))
return true;
}
@@ -219,11 +230,8 @@ namespace Umbraco.Core.IO
/// <returns>A value indicating whether the filepath is valid.</returns>
internal static bool VerifyFileExtension(string filePath, List<string> validFileExtensions)
{
if (filePath.StartsWith(MapPath(SystemDirectories.Root)) == false)
filePath = MapPath(filePath);
var f = new FileInfo(filePath);
return validFileExtensions.Contains(f.Extension.Substring(1));
var ext = Path.GetExtension(filePath);
return ext != null && validFileExtensions.Contains(ext.TrimStart('.'));
}
/// <summary>
@@ -240,6 +248,16 @@ namespace Umbraco.Core.IO
return true;
}
public static bool PathStartsWith(string path, string root, char separator)
{
// either it is identical to root,
// or it is root + separator + anything
if (path.StartsWith(root, StringComparison.OrdinalIgnoreCase) == false) return false;
if (path.Length == root.Length) return true;
if (path.Length < root.Length) return false;
return path[root.Length] == separator;
}
/// <summary>
/// Returns the path to the root of the application, by getting the path to where the assembly where this
+124 -44
View File
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.IO;
using System.Linq;
using Umbraco.Core.Logging;
@@ -9,7 +8,12 @@ namespace Umbraco.Core.IO
{
public class PhysicalFileSystem : IFileSystem
{
internal string RootPath { get; private set; }
// the rooted, filesystem path, using directory separator chars, NOT ending with a separator
// eg "c:" or "c:\path\to\site" or "\\server\path"
private readonly string _rootPath;
// the ??? url, using url separator chars, NOT ending with a separator
// eg "" (?) or "/Scripts" or ???
private readonly string _rootUrl;
public PhysicalFileSystem(string virtualRoot)
@@ -18,8 +22,13 @@ namespace Umbraco.Core.IO
if (virtualRoot.StartsWith("~/") == false)
throw new ArgumentException("The virtualRoot argument must be a virtual path and start with '~/'");
RootPath = IOHelper.MapPath(virtualRoot);
_rootPath = IOHelper.MapPath(virtualRoot);
_rootPath = EnsureDirectorySeparatorChar(_rootPath);
_rootPath = _rootPath.TrimEnd(Path.DirectorySeparatorChar);
_rootUrl = IOHelper.ResolveUrl(virtualRoot);
_rootUrl = EnsureUrlSeparatorChar(_rootUrl);
_rootUrl = _rootUrl.TrimEnd('/');
}
public PhysicalFileSystem(string rootPath, string rootUrl)
@@ -33,18 +42,31 @@ namespace Umbraco.Core.IO
if (rootPath.StartsWith("~/"))
throw new ArgumentException("The rootPath argument cannot be a virtual path and cannot start with '~/'");
RootPath = rootPath;
_rootUrl = rootUrl;
// rootPath should be... rooted, as in, it's a root path!
// but the test suite App.config cannot really "root" anything so we'll have to do it here
//var localRoot = AppDomain.CurrentDomain.BaseDirectory;
var localRoot = IOHelper.GetRootDirectorySafe();
if (Path.IsPathRooted(rootPath) == false)
{
rootPath = Path.Combine(localRoot, rootPath);
}
rootPath = EnsureDirectorySeparatorChar(rootPath);
rootUrl = EnsureUrlSeparatorChar(rootUrl);
_rootPath = rootPath.TrimEnd(Path.DirectorySeparatorChar);
_rootUrl = rootUrl.TrimEnd('/');
}
public IEnumerable<string> GetDirectories(string path)
{
path = EnsureTrailingSeparator(GetFullPath(path));
var fullPath = GetFullPath(path);
try
{
if (Directory.Exists(path))
return Directory.EnumerateDirectories(path).Select(GetRelativePath);
if (Directory.Exists(fullPath))
return Directory.EnumerateDirectories(fullPath).Select(GetRelativePath);
}
catch (UnauthorizedAccessException ex)
{
@@ -65,12 +87,13 @@ namespace Umbraco.Core.IO
public void DeleteDirectory(string path, bool recursive)
{
if (DirectoryExists(path) == false)
var fullPath = GetFullPath(path);
if (Directory.Exists(fullPath) == false)
return;
try
{
Directory.Delete(GetFullPath(path), recursive);
Directory.Delete(fullPath, recursive);
}
catch (DirectoryNotFoundException ex)
{
@@ -80,7 +103,8 @@ namespace Umbraco.Core.IO
public bool DirectoryExists(string path)
{
return Directory.Exists(GetFullPath(path));
var fullPath = GetFullPath(path);
return Directory.Exists(fullPath);
}
public void AddFile(string path, Stream stream)
@@ -90,17 +114,17 @@ namespace Umbraco.Core.IO
public void AddFile(string path, Stream stream, bool overrideIfExists)
{
var fsRelativePath = GetRelativePath(path);
var fullPath = GetFullPath(path);
var exists = File.Exists(fullPath);
if (exists && overrideIfExists == false)
throw new InvalidOperationException(string.Format("A file at path '{0}' already exists", path));
var exists = FileExists(fsRelativePath);
if (exists && overrideIfExists == false) throw new InvalidOperationException(string.Format("A file at path '{0}' already exists", path));
EnsureDirectory(Path.GetDirectoryName(fsRelativePath));
Directory.CreateDirectory(Path.GetDirectoryName(fullPath)); // ensure it exists
if (stream.CanSeek)
stream.Seek(0, 0);
using (var destination = (Stream)File.Create(GetFullPath(fsRelativePath)))
using (var destination = (Stream)File.Create(fullPath))
stream.CopyTo(destination);
}
@@ -111,9 +135,7 @@ namespace Umbraco.Core.IO
public IEnumerable<string> GetFiles(string path, string filter)
{
var fsRelativePath = GetRelativePath(path);
var fullPath = EnsureTrailingSeparator(GetFullPath(fsRelativePath));
var fullPath = GetFullPath(path);
try
{
@@ -140,12 +162,13 @@ namespace Umbraco.Core.IO
public void DeleteFile(string path)
{
if (!FileExists(path))
var fullPath = GetFullPath(path);
if (File.Exists(fullPath) == false)
return;
try
{
File.Delete(GetFullPath(path));
File.Delete(fullPath);
}
catch (FileNotFoundException ex)
{
@@ -155,39 +178,86 @@ namespace Umbraco.Core.IO
public bool FileExists(string path)
{
return File.Exists(GetFullPath(path));
var fullpath = GetFullPath(path);
return File.Exists(fullpath);
}
// beware, many things depend on how the GetRelative/AbsolutePath methods work!
/// <summary>
/// Gets the relative path.
/// </summary>
/// <param name="fullPathOrUrl">The full path or url.</param>
/// <returns>The path, relative to this filesystem's root.</returns>
/// <remarks>
/// <para>The relative path is relative to this filesystem's root, not starting with any
/// directory separator. If input was recognized as a url (path), then output uses url (path) separator
/// chars.</para>
/// </remarks>
public string GetRelativePath(string fullPathOrUrl)
{
var relativePath = fullPathOrUrl
.TrimStart(_rootUrl)
.Replace('/', Path.DirectorySeparatorChar)
.TrimStart(RootPath)
.TrimStart(Path.DirectorySeparatorChar);
// test url
var path = fullPathOrUrl.Replace('\\', '/'); // ensure url separator char
return relativePath;
if (IOHelper.PathStartsWith(path, _rootUrl, '/')) // if it starts with the root url...
return path.Substring(_rootUrl.Length) // strip it
.TrimStart('/'); // it's relative
// test path
path = EnsureDirectorySeparatorChar(fullPathOrUrl);
if (IOHelper.PathStartsWith(path, _rootPath, Path.DirectorySeparatorChar)) // if it starts with the root path
return path.Substring(_rootPath.Length) // strip it
.TrimStart(Path.DirectorySeparatorChar); // it's relative
// unchanged - including separators
return fullPathOrUrl;
}
/// <summary>
/// Gets the full path.
/// </summary>
/// <param name="path">The full or relative path.</param>
/// <returns>The full path.</returns>
/// <remarks>
/// <para>On the physical filesystem, the full path is the rooted (ie non-relative), safe (ie within this
/// filesystem's root) path. All separators are converted to Path.DirectorySeparatorChar.</para>
/// </remarks>
public string GetFullPath(string path)
{
//if the path starts with a '/' then it's most likely not a FS relative path which is required so convert it
if (path.StartsWith("/"))
{
path = GetRelativePath(path);
}
// normalize
var opath = path;
path = EnsureDirectorySeparatorChar(path);
return !path.StartsWith(RootPath)
? Path.Combine(RootPath, path)
: path;
// not sure what we are doing here - so if input starts with a (back) slash,
// we assume it's not a FS relative path and we try to convert it... but it
// really makes little sense?
if (path.StartsWith(Path.DirectorySeparatorChar.ToString()))
path = GetRelativePath(path);
// if already a full path, return
if (IOHelper.PathStartsWith(path, _rootPath, Path.DirectorySeparatorChar))
return path;
// else combine and sanitize, ie GetFullPath will take care of any relative
// segments in path, eg '../../foo.tmp' - it may throw a SecurityException
// if the combined path reaches illegal parts of the filesystem
var fpath = Path.Combine(_rootPath, path);
fpath = Path.GetFullPath(fpath);
// at that point, path is within legal parts of the filesystem, ie we have
// permissions to reach that path, but it may nevertheless be outside of
// our root path, due to relative segments, so better check
if (IOHelper.PathStartsWith(fpath, _rootPath, Path.DirectorySeparatorChar))
return fpath;
throw new FileSecurityException("File '" + opath + "' is outside this filesystem's root.");
}
public string GetUrl(string path)
{
return _rootUrl.TrimEnd("/") + "/" + path
.TrimStart(Path.DirectorySeparatorChar)
.Replace(Path.DirectorySeparatorChar, '/')
.TrimEnd("/");
path = EnsureUrlSeparatorChar(path).Trim('/');
return _rootUrl + "/" + path;
}
public DateTimeOffset GetLastModified(string path)
@@ -214,9 +284,19 @@ namespace Umbraco.Core.IO
protected string EnsureTrailingSeparator(string path)
{
if (!path.EndsWith(Path.DirectorySeparatorChar.ToString(CultureInfo.InvariantCulture), StringComparison.Ordinal))
path = path + Path.DirectorySeparatorChar;
return path.EnsureEndsWith(Path.DirectorySeparatorChar);
}
protected string EnsureDirectorySeparatorChar(string path)
{
path = path.Replace('/', Path.DirectorySeparatorChar);
path = path.Replace('\\', Path.DirectorySeparatorChar);
return path;
}
protected string EnsureUrlSeparatorChar(string path)
{
path = path.Replace('\\', '/');
return path;
}
+1 -1
View File
@@ -154,7 +154,7 @@ namespace Umbraco.Core.IO
{
get
{
return IOHelper.ReturnPath("umbracoWebservicesPath", "~/umbraco/webservices");
return IOHelper.ReturnPath("umbracoWebservicesPath", Umbraco.EnsureEndsWith("/") + "webservices");
}
}
+2 -2
View File
@@ -199,8 +199,8 @@ namespace Umbraco.Core.IO
using (var image = Image.FromStream(fs))
{
var fileNameThumb = string.IsNullOrWhiteSpace(fileNameAddition)
? string.Format("{0}_UMBRACOSYSTHUMBNAIL.jpg", Path.Substring(0, Path.LastIndexOf(".", StringComparison.Ordinal)))
: string.Format("{0}_{1}.jpg", Path.Substring(0, Path.LastIndexOf(".", StringComparison.Ordinal)), fileNameAddition);
? string.Format("{0}_UMBRACOSYSTHUMBNAIL." + Extension, Path.Substring(0, Path.LastIndexOf(".", StringComparison.Ordinal)))
: string.Format("{0}_{1}." + Extension, Path.Substring(0, Path.LastIndexOf(".", StringComparison.Ordinal)), fileNameAddition);
var thumbnail = maxWidthHeight == -1
? ImageHelper.GenerateThumbnail(image, width, height, fileNameThumb, Extension, _fs)
+50 -9
View File
@@ -7,7 +7,7 @@ using Umbraco.Core.Models;
namespace Umbraco.Core.IO
{
internal class ViewHelper
public class ViewHelper
{
private readonly IFileSystem _viewFileSystem;
@@ -66,17 +66,58 @@ namespace Umbraco.Core.IO
return viewContent;
}
internal static string GetDefaultFileContent(string layoutPageAlias = null)
public static string GetDefaultFileContent(string layoutPageAlias = null, string modelClassName = null, string modelNamespace = null, string modelNamespaceAlias = null)
{
var design = @"@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = null;
}";
var content = new StringBuilder();
if (layoutPageAlias.IsNullOrWhiteSpace() == false)
design = design.Replace("null", string.Format("\"{0}.cshtml\"", layoutPageAlias));
if (string.IsNullOrWhiteSpace(modelNamespaceAlias))
modelNamespaceAlias = "ContentModels";
return design;
// either
// @inherits Umbraco.Web.Mvc.UmbracoTemplatePage
// @inherits Umbraco.Web.Mvc.UmbracoTemplatePage<ModelClass>
// @inherits Umbraco.Web.Mvc.UmbracoTemplatePage<ContentModels.ModelClass>
content.Append("@inherits Umbraco.Web.Mvc.UmbracoTemplatePage");
if (modelClassName.IsNullOrWhiteSpace() == false)
{
content.Append("<");
if (modelNamespace.IsNullOrWhiteSpace() == false)
{
content.Append(modelNamespaceAlias);
content.Append(".");
}
content.Append(modelClassName);
content.Append(">");
}
content.Append("\r\n");
// if required, add
// @using ContentModels = ModelNamespace;
if (modelClassName.IsNullOrWhiteSpace() == false && modelNamespace.IsNullOrWhiteSpace() == false)
{
content.Append("@using ");
content.Append(modelNamespaceAlias);
content.Append(" = ");
content.Append(modelNamespace);
content.Append(";\r\n");
}
// either
// Layout = null;
// Layout = "layoutPage.cshtml";
content.Append("@{\r\n\tLayout = ");
if (layoutPageAlias.IsNullOrWhiteSpace())
{
content.Append("null");
}
else
{
content.Append("\"");
content.Append(layoutPageAlias);
content.Append(".cshtml\"");
}
content.Append(";\r\n}");
return content.ToString();
}
private string SaveTemplateToFile(ITemplate template)
@@ -22,8 +22,8 @@ namespace Umbraco.Core.Logging
private CancellationTokenSource _loggingCancelationTokenSource;
private CancellationToken _loggingCancelationToken;
private Task _loggingTask;
private Double _shutdownFlushTimeout = 5;
private TimeSpan _shutdownFlushTimespan = TimeSpan.FromSeconds(5);
private Double _shutdownFlushTimeout = 1;
private TimeSpan _shutdownFlushTimespan = TimeSpan.FromSeconds(1);
private static readonly Type ThisType = typeof(ParallelForwardingAppender);
private volatile bool _shutDownRequested;
private int? _bufferSize = DefaultBufferSize;
+6 -2
View File
@@ -11,8 +11,12 @@ namespace Umbraco.Core.Macros
/// </summary>
internal class MacroTagParser
{
private static readonly Regex MacroRteContent = new Regex(@"(<!--\s*?)(<\?UMBRACO_MACRO.*?/>)(\s*?-->)", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
private static readonly Regex MacroPersistedFormat = new Regex(@"(<\?UMBRACO_MACRO (?:.+?)?macroAlias=[""']([^""\'\n\r]+?)[""'].+?)(?:/>|>.*?</\?UMBRACO_MACRO>)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
private static readonly Regex MacroRteContent = new Regex(@"(<!--\s*?)(<\?UMBRACO_MACRO.*?/>)(\s*?-->)",
RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Singleline);
private static readonly Regex MacroPersistedFormat =
new Regex(@"(<\?UMBRACO_MACRO (?:.+?)??macroAlias=[""']([^""\'\n\r]+?)[""'].+?)(?:/>|>.*?</\?UMBRACO_MACRO>)",
RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Singleline);
/// <summary>
/// This formats the persisted string to something useful for the rte so that the macro renders properly since we
+16 -4
View File
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@@ -140,11 +141,22 @@ namespace Umbraco.Core.Manifest
{
var result = new List<PackageManifest>();
foreach (var m in manifestFileContents)
{
if (m.IsNullOrWhiteSpace()) continue;
{
var manifestContent = m;
if (manifestContent.IsNullOrWhiteSpace()) continue;
// Strip byte object marker, JSON.NET does not like it
var preamble = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble());
// Strangely StartsWith(preamble) would always return true
if (manifestContent.Substring(0, 1) == preamble)
manifestContent = manifestContent.Remove(0, preamble.Length);
if (manifestContent.IsNullOrWhiteSpace()) continue;
//remove any comments first
var replaced = CommentsSurround.Replace(m, match => " ");
var replaced = CommentsSurround.Replace(manifestContent, match => " ");
replaced = CommentsLine.Replace(replaced, match => "");
JObject deserialized;
@@ -154,7 +166,7 @@ namespace Umbraco.Core.Manifest
}
catch (Exception ex)
{
LogHelper.Error<ManifestParser>("An error occurred parsing manifest with contents: " + m, ex);
LogHelper.Error<ManifestParser>("An error occurred parsing manifest with contents: " + manifestContent, ex);
continue;
}
@@ -75,7 +75,7 @@ namespace Umbraco.Core.Media.Exif
{
if (items.ContainsKey (key))
items.Remove (key);
if (key == ExifTag.WindowsTitle || key == ExifTag.WindowsTitle || key == ExifTag.WindowsComment || key == ExifTag.WindowsAuthor || key == ExifTag.WindowsKeywords || key == ExifTag.WindowsSubject) {
if (key == ExifTag.WindowsTitle || key == ExifTag.WindowsComment || key == ExifTag.WindowsAuthor || key == ExifTag.WindowsKeywords || key == ExifTag.WindowsSubject) {
items.Add (key, new WindowsByteString (key, value));
} else {
items.Add (key, new ExifAscii (key, value, parent.Encoding));
+37 -16
View File
@@ -59,7 +59,7 @@ namespace Umbraco.Core.Media
var fileHeight = image.Height;
return new Size(fileWidth, fileHeight);
}
}
public static string GetMimeType(this Image image)
@@ -79,22 +79,22 @@ namespace Umbraco.Core.Media
/// <param name="additionalThumbSizes"></param>
/// <returns></returns>
internal static IEnumerable<ResizedImage> GenerateMediaThumbnails(
IFileSystem fs,
string fileName,
string extension,
IFileSystem fs,
string fileName,
string extension,
Image originalImage,
IEnumerable<int> additionalThumbSizes)
{
var result = new List<ResizedImage>();
var allSizesDictionary = new Dictionary<int,string> {{100,"thumb"}, {500,"big-thumb"}};
var allSizesDictionary = new Dictionary<int, string> { { 100, "thumb" }, { 500, "big-thumb" } };
//combine the static dictionary with the additional sizes with only unique values
var allSizes = allSizesDictionary.Select(kv => kv.Key)
.Union(additionalThumbSizes.Where(x => x > 0).Distinct());
var sizesDictionary = allSizes.ToDictionary(s => s, s => allSizesDictionary.ContainsKey(s) ? allSizesDictionary[s]: "");
var sizesDictionary = allSizes.ToDictionary(s => s, s => allSizesDictionary.ContainsKey(s) ? allSizesDictionary[s] : "");
foreach (var s in sizesDictionary)
{
@@ -121,9 +121,9 @@ namespace Umbraco.Core.Media
/// <returns></returns>
private static ResizedImage Resize(IFileSystem fileSystem, string path, string extension, int maxWidthHeight, string fileNameAddition, Image originalImage)
{
var fileNameThumb = String.IsNullOrEmpty(fileNameAddition)
? string.Format("{0}_UMBRACOSYSTHUMBNAIL.jpg", path.Substring(0, path.LastIndexOf(".")))
: string.Format("{0}_{1}.jpg", path.Substring(0, path.LastIndexOf(".")), fileNameAddition);
var fileNameThumb = string.IsNullOrWhiteSpace(fileNameAddition)
? string.Format("{0}_UMBRACOSYSTHUMBNAIL." + extension, path.Substring(0, path.LastIndexOf(".", StringComparison.Ordinal)))
: string.Format("{0}_{1}." + extension, path.Substring(0, path.LastIndexOf(".", StringComparison.Ordinal)), fileNameAddition);
var thumb = GenerateThumbnail(
originalImage,
@@ -190,9 +190,9 @@ namespace Umbraco.Core.Media
//use best quality
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
}
g.SmoothingMode = SmoothingMode.HighQuality;
g.SmoothingMode = SmoothingMode.HighQuality;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
@@ -202,10 +202,29 @@ namespace Umbraco.Core.Media
// Copy metadata
var imageEncoders = ImageCodecInfo.GetImageEncoders();
var codec = extension.ToLower() == "png" || extension.ToLower() == "gif"
? imageEncoders.Single(t => t.MimeType.Equals("image/png"))
: imageEncoders.Single(t => t.MimeType.Equals("image/jpeg"));
ImageCodecInfo codec;
switch (extension.ToLower())
{
case "png":
codec = imageEncoders.Single(t => t.MimeType.Equals("image/png"));
break;
case "gif":
codec = imageEncoders.Single(t => t.MimeType.Equals("image/gif"));
break;
case "tif":
case "tiff":
codec = imageEncoders.Single(t => t.MimeType.Equals("image/tiff"));
break;
case "bmp":
codec = imageEncoders.Single(t => t.MimeType.Equals("image/bmp"));
break;
// TODO: this is dirty, defaulting to jpg but the return value of this thing is used all over the
// place so left it here, but it needs to not set a codec if it doesn't know which one to pick
// Note: when fixing this: both .jpg and .jpeg should be handled as extensions
default:
codec = imageEncoders.Single(t => t.MimeType.Equals("image/jpeg"));
break;
}
// Set compresion ratio to 90%
var ep = new EncoderParameters();
@@ -213,12 +232,14 @@ namespace Umbraco.Core.Media
// Save the new image using the dimensions of the image
var predictableThumbnailName = thumbnailFileName.Replace("UMBRACOSYSTHUMBNAIL", maxWidthHeight.ToString(CultureInfo.InvariantCulture));
var predictableThumbnailNameJpg = predictableThumbnailName.Substring(0, predictableThumbnailName.LastIndexOf(".", StringComparison.Ordinal)) + ".jpg";
using (var ms = new MemoryStream())
{
bp.Save(ms, codec, ep);
ms.Seek(0, 0);
fs.AddFile(predictableThumbnailName, ms);
fs.AddFile(predictableThumbnailNameJpg, ms);
}
// TODO: Remove this, this is ONLY here for backwards compatibility but it is essentially completely unusable see U4-5385
+1 -19
View File
@@ -95,13 +95,7 @@ namespace Umbraco.Core.Models
[DataMember]
public virtual ITemplate Template
{
get
{
if (_template == null)
return _contentType.DefaultTemplate;
return _template;
}
get { return _template; }
set
{
SetPropertyValueAndDetectChanges(o =>
@@ -346,18 +340,6 @@ namespace Umbraco.Core.Models
}
}
/// <summary>
/// Method to call when Entity is being saved
/// </summary>
/// <remarks>Created date is set and a Unique key is assigned</remarks>
internal override void AddingEntity()
{
base.AddingEntity();
if(Key == Guid.Empty)
Key = Guid.NewGuid();
}
/// <summary>
/// Method to call when Entity is being updated
/// </summary>
+21 -2
View File
@@ -367,8 +367,27 @@ namespace Umbraco.Core.Models
/// <param name="value">Value to set for the Property</param>
public virtual void SetPropertyValue(string propertyTypeAlias, long value)
{
string val = value.ToString();
SetValueOnProperty(propertyTypeAlias, val);
SetValueOnProperty(propertyTypeAlias, value);
}
/// <summary>
/// Sets the <see cref="System.Decimal"/> value of a Property
/// </summary>
/// <param name="propertyTypeAlias">Alias of the PropertyType</param>
/// <param name="value">Value to set for the Property</param>
public virtual void SetPropertyValue(string propertyTypeAlias, decimal value)
{
SetValueOnProperty(propertyTypeAlias, value);
}
/// <summary>
/// Sets the <see cref="System.Double"/> value of a Property
/// </summary>
/// <param name="propertyTypeAlias">Alias of the PropertyType</param>
/// <param name="value">Value to set for the Property</param>
public virtual void SetPropertyValue(string propertyTypeAlias, double value)
{
SetValueOnProperty(propertyTypeAlias, value);
}
/// <summary>
+1 -2
View File
@@ -560,8 +560,7 @@ namespace Umbraco.Core.Models
//Additional thumbnails configured as prevalues on the DataType
if (thumbnailSizes != null)
{
var sep = (thumbnailSizes.Contains("") == false && thumbnailSizes.Contains(",")) ? ',' : ';';
foreach (var thumb in thumbnailSizes.Split(sep))
foreach (var thumb in thumbnailSizes.Split(new[] { ";", "," }, StringSplitOptions.RemoveEmptyEntries))
{
int thumbSize;
if (thumb != "" && int.TryParse(thumb, out thumbSize))
+6 -13
View File
@@ -53,6 +53,9 @@ namespace Umbraco.Core.Models
/// <summary>
/// Gets or sets the alias of the default Template.
/// TODO: This should be ignored from cloning!!!!!!!!!!!!!!
/// - but to do that we have to implement callback hacks, this needs to be fixed in v8,
/// we should not store direct entity
/// </summary>
[IgnoreDataMember]
public ITemplate DefaultTemplate
@@ -79,6 +82,9 @@ namespace Umbraco.Core.Models
/// <summary>
/// Gets or Sets a list of Templates which are allowed for the ContentType
/// TODO: This should be ignored from cloning!!!!!!!!!!!!!!
/// - but to do that we have to implement callback hacks, this needs to be fixed in v8,
/// we should not store direct entity
/// </summary>
[DataMember]
public IEnumerable<ITemplate> AllowedTemplates
@@ -137,19 +143,6 @@ namespace Umbraco.Core.Models
return result;
}
/// <summary>
/// Method to call when Entity is being saved
/// </summary>
/// <remarks>Created date is set and a Unique key is assigned</remarks>
internal override void AddingEntity()
{
base.AddingEntity();
if (Key == Guid.Empty)
Key = Guid.NewGuid();
}
/// <summary>
/// Creates a deep clone of the current entity with its identity/alias and it's property identities reset
/// </summary>
@@ -0,0 +1,17 @@
namespace Umbraco.Core.Models
{
/// <summary>
/// Used when determining available compositions for a given content type
/// </summary>
internal class ContentTypeAvailableCompositionsResult
{
public ContentTypeAvailableCompositionsResult(IContentTypeComposition composition, bool allowed)
{
Composition = composition;
Allowed = allowed;
}
public IContentTypeComposition Composition { get; private set; }
public bool Allowed { get; private set; }
}
}
@@ -0,0 +1,26 @@
using System.Collections.Generic;
using System.Linq;
namespace Umbraco.Core.Models
{
/// <summary>
/// Used when determining available compositions for a given content type
/// </summary>
internal class ContentTypeAvailableCompositionsResults
{
public ContentTypeAvailableCompositionsResults()
{
Ancestors = Enumerable.Empty<IContentTypeComposition>();
Results = Enumerable.Empty<ContentTypeAvailableCompositionsResult>();
}
public ContentTypeAvailableCompositionsResults(IEnumerable<IContentTypeComposition> ancestors, IEnumerable<ContentTypeAvailableCompositionsResult> results)
{
Ancestors = ancestors;
Results = results;
}
public IEnumerable<IContentTypeComposition> Ancestors { get; private set; }
public IEnumerable<ContentTypeAvailableCompositionsResult> Results { get; private set; }
}
}
+49 -37
View File
@@ -26,7 +26,7 @@ namespace Umbraco.Core.Models
private string _alias;
private string _description;
private int _sortOrder;
private string _icon = "folder.png";
private string _icon = "icon-folder";
private string _thumbnail = "folder.png";
private int _creatorId;
private bool _allowedAsRoot;
@@ -373,43 +373,35 @@ namespace Umbraco.Core.Models
{
_propertyGroups = value;
_propertyGroups.CollectionChanged += PropertyGroupsChanged;
PropertyGroupsChanged(_propertyGroups, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
}
}
/// <summary>
/// List of PropertyTypes available on this ContentType.
/// This list aggregates PropertyTypes across the PropertyGroups.
/// Gets all property types, across all property groups.
/// </summary>
/// <remarks>
///
/// The setter is used purely to set the property types that DO NOT belong to a group!
///
/// Marked as DoNotClone because the result of this property is not the natural result of the data, it is
/// a union of data so when auto-cloning if the setter is used it will be setting the unnatural result of the
/// data. We manually clone this instead.
/// </remarks>
[IgnoreDataMember]
[DoNotClone]
public virtual IEnumerable<PropertyType> PropertyTypes
{
get
{
var types = _propertyTypes.Union(PropertyGroups.SelectMany(x => x.PropertyTypes));
return types;
}
internal set
{
_propertyTypes = new PropertyTypeCollection(value);
_propertyTypes.CollectionChanged += PropertyTypesChanged;
return _propertyTypes.Union(PropertyGroups.SelectMany(x => x.PropertyTypes));
}
}
/// <summary>
/// Returns the property type collection containing types that are non-groups - used for tests
/// Gets or sets the property types that are not in a group.
/// </summary>
internal IEnumerable<PropertyType> NonGroupedPropertyTypes
public IEnumerable<PropertyType> NoGroupPropertyTypes
{
get { return _propertyTypes; }
set
{
_propertyTypes = new PropertyTypeCollection(value);
_propertyTypes.CollectionChanged += PropertyTypesChanged;
PropertyTypesChanged(_propertyTypes, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
}
}
/// <summary>
@@ -460,11 +452,6 @@ namespace Umbraco.Core.Models
/// <returns>Returns <c>True</c> if PropertyType was added, otherwise <c>False</c></returns>
public bool AddPropertyType(PropertyType propertyType)
{
if (propertyType.HasIdentity == false)
{
propertyType.Key = Guid.NewGuid();
}
if (PropertyTypeExists(propertyType.Alias) == false)
{
_propertyTypes.Add(propertyType);
@@ -480,24 +467,37 @@ namespace Umbraco.Core.Models
/// <param name="propertyTypeAlias">Alias of the PropertyType to move</param>
/// <param name="propertyGroupName">Name of the PropertyGroup to move the PropertyType to</param>
/// <returns></returns>
/// <remarks>If <paramref name="propertyGroupName"/> is null then the property is moved back to
/// "generic properties" ie does not have a tab anymore.</remarks>
public bool MovePropertyType(string propertyTypeAlias, string propertyGroupName)
{
if (PropertyTypes.Any(x => x.Alias == propertyTypeAlias) == false || PropertyGroups.Any(x => x.Name == propertyGroupName) == false)
return false;
// note: not dealing with alias casing at all here?
var propertyType = PropertyTypes.First(x => x.Alias == propertyTypeAlias);
//The PropertyType already belongs to a PropertyGroup, so we have to remove the PropertyType from that group
if (PropertyGroups.Any(x => x.PropertyTypes.Any(y => y.Alias == propertyTypeAlias)))
{
var oldPropertyGroup = PropertyGroups.First(x => x.PropertyTypes.Any(y => y.Alias == propertyTypeAlias));
oldPropertyGroup.PropertyTypes.RemoveItem(propertyTypeAlias);
}
// get property, ensure it exists
var propertyType = PropertyTypes.FirstOrDefault(x => x.Alias == propertyTypeAlias);
if (propertyType == null) return false;
// get new group, if required, and ensure it exists
var newPropertyGroup = propertyGroupName == null
? null
: PropertyGroups.FirstOrDefault(x => x.Name == propertyGroupName);
if (propertyGroupName != null && newPropertyGroup == null) return false;
// get old group
var oldPropertyGroup = PropertyGroups.FirstOrDefault(x =>
x.PropertyTypes.Any(y => y.Alias == propertyTypeAlias));
// reset PropertyGroupId, which will be re-evaluated when the content type
// is saved - what is important is group.PropertyTypes - see code in
// ContentTypeBaseRepository.PersistUpdatedBaseContentType
propertyType.PropertyGroupId = new Lazy<int>(() => default(int));
propertyType.ResetDirtyProperties();
propertyType.ResetDirtyProperties(); // PropertyGroupId must not be dirty
var propertyGroup = PropertyGroups.First(x => x.Name == propertyGroupName);
propertyGroup.PropertyTypes.Add(propertyType);
// remove from old group, if any - add to new group, if any
if (oldPropertyGroup != null)
oldPropertyGroup.PropertyTypes.RemoveItem(propertyTypeAlias);
if (newPropertyGroup != null)
newPropertyGroup.PropertyTypes.Add(propertyType);
return true;
}
@@ -533,6 +533,18 @@ namespace Umbraco.Core.Models
/// <param name="propertyGroupName">Name of the <see cref="PropertyGroup"/> to remove</param>
public void RemovePropertyGroup(string propertyGroupName)
{
// if no group exists with that name, do nothing
var group = PropertyGroups[propertyGroupName];
if (group == null) return;
// re-assign the group's properties to no group
foreach (var property in group.PropertyTypes)
{
property.PropertyGroupId = new Lazy<int>(() => 0);
_propertyTypes.Add(property);
}
// actually remove the group
PropertyGroups.RemoveItem(propertyGroupName);
OnPropertyChanged(PropertyGroupCollectionSelector);
}
@@ -23,8 +23,8 @@ namespace Umbraco.Core.Models
protected ContentTypeCompositionBase(IContentTypeComposition parent)
: this(parent, null)
{
}
{
}
protected ContentTypeCompositionBase(IContentTypeComposition parent, string alias)
: base(parent, alias)
@@ -37,16 +37,21 @@ namespace Umbraco.Core.Models
x => x.ContentTypeComposition);
/// <summary>
/// List of ContentTypes that make up a composition of PropertyGroups and PropertyTypes for the current ContentType
/// Gets or sets the content types that compose this content type.
/// </summary>
[DataMember]
public IEnumerable<IContentTypeComposition> ContentTypeComposition
{
get { return _contentTypeComposition; }
set
{
_contentTypeComposition = value.ToList();
OnPropertyChanged(ContentTypeCompositionSelector);
}
}
/// <summary>
/// Returns a list of <see cref="PropertyGroup"/> objects from the composition
/// Gets the property groups for the entire composition.
/// </summary>
[IgnoreDataMember]
public IEnumerable<PropertyGroup> CompositionPropertyGroups
@@ -59,7 +64,7 @@ namespace Umbraco.Core.Models
}
/// <summary>
/// Returns a list of <see cref="PropertyType"/> objects from the composition
/// Gets the property types for the entire composition.
/// </summary>
[IgnoreDataMember]
public IEnumerable<PropertyType> CompositionPropertyTypes
@@ -72,10 +77,10 @@ namespace Umbraco.Core.Models
}
/// <summary>
/// Adds a new ContentType to the list of composite ContentTypes
/// Adds a content type to the composition.
/// </summary>
/// <param name="contentType"><see cref="ContentType"/> to add</param>
/// <returns>True if ContentType was added, otherwise returns False</returns>
/// <param name="contentType">The content type to add.</param>
/// <returns>True if the content type was added, otherwise false.</returns>
public bool AddContentType(IContentTypeComposition contentType)
{
if (contentType.ContentTypeComposition.Any(x => x.CompositionAliases().Any(ContentTypeCompositionExists)))
@@ -94,13 +99,7 @@ namespace Umbraco.Core.Models
.Select(p => p.Alias)).ToList();
if (conflictingPropertyTypeAliases.Any())
throw new InvalidCompositionException
{
AddedCompositionAlias = contentType.Alias,
ContentTypeAlias = Alias,
PropertyTypeAlias =
string.Join(", ", conflictingPropertyTypeAliases)
};
throw new InvalidCompositionException(Alias, contentType.Alias, conflictingPropertyTypeAliases.ToArray());
_contentTypeComposition.Add(contentType);
OnPropertyChanged(ContentTypeCompositionSelector);
@@ -110,10 +109,10 @@ namespace Umbraco.Core.Models
}
/// <summary>
/// Removes a ContentType with the supplied alias from the the list of composite ContentTypes
/// Removes a content type with a specified alias from the composition.
/// </summary>
/// <param name="alias">Alias of a <see cref="ContentType"/></param>
/// <returns>True if ContentType was removed, otherwise returns False</returns>
/// <param name="alias">The alias of the content type to remove.</param>
/// <returns>True if the content type was removed, otherwise false.</returns>
public bool RemoveContentType(string alias)
{
if (ContentTypeCompositionExists(alias))
@@ -123,10 +122,10 @@ namespace Umbraco.Core.Models
return false;
RemovedContentTypeKeyTracker.Add(contentTypeComposition.Id);
//If the ContentType we are removing has Compositions of its own these needs to be removed as well
var compositionIdsToRemove = contentTypeComposition.CompositionIds().ToList();
if(compositionIdsToRemove.Any())
if (compositionIdsToRemove.Any())
RemovedContentTypeKeyTracker.AddRange(compositionIdsToRemove);
OnPropertyChanged(ContentTypeCompositionSelector);
@@ -163,31 +162,44 @@ namespace Umbraco.Core.Models
/// <summary>
/// Adds a PropertyGroup.
/// This method will also check if a group already exists with the same name and link it to the parent.
/// </summary>
/// <param name="groupName">Name of the PropertyGroup to add</param>
/// <returns>Returns <c>True</c> if a PropertyGroup with the passed in name was added, otherwise <c>False</c></returns>
public override bool AddPropertyGroup(string groupName)
{
if (PropertyGroups.Any(x => x.Name == groupName))
return false;
return AddAndReturnPropertyGroup(groupName) != null;
}
var propertyGroup = new PropertyGroup {Name = groupName, SortOrder = 0};
private PropertyGroup AddAndReturnPropertyGroup(string name)
{
// ensure we don't have it already
if (PropertyGroups.Any(x => x.Name == name))
return null;
if (CompositionPropertyGroups.Any(x => x.Name == groupName))
// create the new group
var group = new PropertyGroup { Name = name, SortOrder = 0 };
// check if it is inherited - there might be more than 1 but we want the 1st, to
// reuse its sort order - if there are more than 1 and they have different sort
// orders... there isn't much we can do anyways
var inheritGroup = CompositionPropertyGroups.FirstOrDefault(x => x.Name == name);
if (inheritGroup == null)
{
var firstGroup = CompositionPropertyGroups.First(x => x.Name == groupName && x.ParentId.HasValue == false);
propertyGroup.SetLazyParentId(new Lazy<int?>(() => firstGroup.Id));
// no, just local, set sort order
var lastGroup = PropertyGroups.LastOrDefault();
if (lastGroup != null)
group.SortOrder = lastGroup.SortOrder + 1;
}
else
{
// yes, inherited, re-use sort order
group.SortOrder = inheritGroup.SortOrder;
}
if (PropertyGroups.Any())
{
var last = PropertyGroups.Last();
propertyGroup.SortOrder = last.SortOrder + 1;
}
// add
PropertyGroups.Add(group);
PropertyGroups.Add(propertyGroup);
return true;
return group;
}
/// <summary>
@@ -198,39 +210,22 @@ namespace Umbraco.Core.Models
/// <returns>Returns <c>True</c> if PropertyType was added, otherwise <c>False</c></returns>
public override bool AddPropertyType(PropertyType propertyType, string propertyGroupName)
{
if (propertyType.HasIdentity == false)
{
propertyType.Key = Guid.NewGuid();
}
// ensure no duplicate alias - over all composition properties
if (PropertyTypeExists(propertyType.Alias))
return false;
if (PropertyTypeExists(propertyType.Alias) == false)
{
if (PropertyGroups.Contains(propertyGroupName))
{
propertyType.PropertyGroupId = new Lazy<int>(() => PropertyGroups[propertyGroupName].Id);
PropertyGroups[propertyGroupName].PropertyTypes.Add(propertyType);
}
else
{
//If the PropertyGroup doesn't already exist we create a new one
var propertyTypes = new List<PropertyType> { propertyType };
var propertyGroup = new PropertyGroup(new PropertyTypeCollection(propertyTypes)) { Name = propertyGroupName, SortOrder = 1 };
//and check if its an inherited PropertyGroup, which exists in the composition
if (CompositionPropertyGroups.Any(x => x.Name == propertyGroupName))
{
var parentPropertyGroup = CompositionPropertyGroups.First(x => x.Name == propertyGroupName && x.ParentId.HasValue == false);
propertyGroup.SortOrder = parentPropertyGroup.SortOrder;
//propertyGroup.ParentId = parentPropertyGroup.Id;
propertyGroup.SetLazyParentId(new Lazy<int?>(() => parentPropertyGroup.Id));
}
// get and ensure a group local to this content type
var group = PropertyGroups.Contains(propertyGroupName)
? PropertyGroups[propertyGroupName]
: AddAndReturnPropertyGroup(propertyGroupName);
if (group == null)
return false;
PropertyGroups.Add(propertyGroup);
}
// add property to group
propertyType.PropertyGroupId = new Lazy<int>(() => group.Id);
group.PropertyTypes.Add(propertyType);
return true;
}
return false;
return true;
}
/// <summary>
@@ -21,6 +21,8 @@ namespace Umbraco.Core.Models
[EnumMember]
Integer,
[EnumMember]
Date
Date,
[EnumMember]
Decimal
}
}
@@ -49,8 +49,6 @@ namespace Umbraco.Core.Models
_additionalData = new Dictionary<string, object>();
}
[Obsolete("Don't use this, parentId is always -1 for data types")]
[EditorBrowsable(EditorBrowsableState.Never)]
public DataTypeDefinition(int parentId, string propertyEditorAlias)
{
_parentId = parentId;
@@ -267,13 +265,5 @@ namespace Umbraco.Core.Models
{
get { return _additionalData; }
}
internal override void AddingEntity()
{
base.AddingEntity();
if(Key == default(Guid))
Key = Guid.NewGuid();
}
}
}
+99 -55
View File
@@ -9,10 +9,30 @@ namespace Umbraco.Core.Models
{
public static class DeepCloneHelper
{
/// <summary>
/// Stores the metadata for the properties for a given type so we know how to create them
/// </summary>
private struct ClonePropertyInfo
{
public ClonePropertyInfo(PropertyInfo propertyInfo) : this()
{
if (propertyInfo == null) throw new ArgumentNullException("propertyInfo");
PropertyInfo = propertyInfo;
}
public PropertyInfo PropertyInfo { get; private set; }
public bool IsDeepCloneable { get; set; }
public Type GenericListType { get; set; }
public bool IsList
{
get { return GenericListType != null; }
}
}
/// <summary>
/// Used to avoid constant reflection (perf)
/// </summary>
private static readonly ConcurrentDictionary<Type, PropertyInfo[]> PropCache = new ConcurrentDictionary<Type, PropertyInfo[]>();
private static readonly ConcurrentDictionary<Type, ClonePropertyInfo[]> PropCache = new ConcurrentDictionary<Type, ClonePropertyInfo[]>();
/// <summary>
/// Used to deep clone any reference properties on the object (should be done after a MemberwiseClone for which the outcome is 'output')
@@ -30,75 +50,99 @@ namespace Umbraco.Core.Models
throw new InvalidOperationException("Both the input and output types must be the same");
}
//get the property metadata from cache so we only have to figure this out once per type
var refProperties = PropCache.GetOrAdd(inputType, type =>
inputType.GetProperties()
.Where(x =>
//is not attributed with the ignore clone attribute
x.GetCustomAttribute<DoNotCloneAttribute>() == null
.Select<PropertyInfo, ClonePropertyInfo?>(propertyInfo =>
{
if (
//is not attributed with the ignore clone attribute
propertyInfo.GetCustomAttribute<DoNotCloneAttribute>() != null
//reference type but not string
&& x.PropertyType.IsValueType == false && x.PropertyType != typeof (string)
|| propertyInfo.PropertyType.IsValueType || propertyInfo.PropertyType == typeof (string)
//settable
&& x.CanWrite
|| propertyInfo.CanWrite == false
//non-indexed
&& x.GetIndexParameters().Any() == false)
|| propertyInfo.GetIndexParameters().Any())
{
return null;
}
if (TypeHelper.IsTypeAssignableFrom<IDeepCloneable>(propertyInfo.PropertyType))
{
return new ClonePropertyInfo(propertyInfo) { IsDeepCloneable = true };
}
if (TypeHelper.IsTypeAssignableFrom<IEnumerable>(propertyInfo.PropertyType)
&& TypeHelper.IsTypeAssignableFrom<string>(propertyInfo.PropertyType) == false)
{
if (propertyInfo.PropertyType.IsGenericType
&& (propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(IEnumerable<>)
|| propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(ICollection<>)
|| propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(IList<>)))
{
//if it is a IEnumerable<>, IList<T> or ICollection<> we'll use a List<>
var genericType = typeof(List<>).MakeGenericType(propertyInfo.PropertyType.GetGenericArguments());
return new ClonePropertyInfo(propertyInfo) { GenericListType = genericType };
}
if (propertyInfo.PropertyType.IsArray
|| (propertyInfo.PropertyType.IsInterface && propertyInfo.PropertyType.IsGenericType == false))
{
//if its an array, we'll create a list to work with first and then convert to array later
//otherwise if its just a regular derivitave of IEnumerable, we can use a list too
return new ClonePropertyInfo(propertyInfo) { GenericListType = typeof(List<object>) };
}
//skip instead of trying to create instance of abstract or interface
if (propertyInfo.PropertyType.IsAbstract || propertyInfo.PropertyType.IsInterface)
{
return null;
}
//its a custom IEnumerable, we'll try to create it
try
{
var custom = Activator.CreateInstance(propertyInfo.PropertyType);
//if it's an IList we can work with it, otherwise we cannot
var newList = custom as IList;
if (newList == null)
{
return null;
}
return new ClonePropertyInfo(propertyInfo) {GenericListType = propertyInfo.PropertyType};
}
catch (Exception)
{
//could not create this type so we'll skip it
return null;
}
}
return new ClonePropertyInfo(propertyInfo);
})
.Where(x => x.HasValue)
.Select(x => x.Value)
.ToArray());
foreach (var propertyInfo in refProperties)
foreach (var clonePropertyInfo in refProperties)
{
if (TypeHelper.IsTypeAssignableFrom<IDeepCloneable>(propertyInfo.PropertyType))
if (clonePropertyInfo.IsDeepCloneable)
{
//this ref property is also deep cloneable so clone it
var result = (IDeepCloneable)propertyInfo.GetValue(input, null);
var result = (IDeepCloneable)clonePropertyInfo.PropertyInfo.GetValue(input, null);
if (result != null)
{
//set the cloned value to the property
propertyInfo.SetValue(output, result.DeepClone(), null);
clonePropertyInfo.PropertyInfo.SetValue(output, result.DeepClone(), null);
}
}
else if (TypeHelper.IsTypeAssignableFrom<IEnumerable>(propertyInfo.PropertyType)
&& TypeHelper.IsTypeAssignableFrom<string>(propertyInfo.PropertyType) == false)
else if (clonePropertyInfo.IsList)
{
IList newList;
if (propertyInfo.PropertyType.IsGenericType
&& (propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(IEnumerable<>)
|| propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(ICollection<>)
|| propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(IList<>)))
{
//if it is a IEnumerable<>, IList<T> or ICollection<> we'll use a List<>
var genericType = typeof(List<>).MakeGenericType(propertyInfo.PropertyType.GetGenericArguments());
newList = (IList)Activator.CreateInstance(genericType);
}
else if (propertyInfo.PropertyType.IsArray
|| (propertyInfo.PropertyType.IsInterface && propertyInfo.PropertyType.IsGenericType == false))
{
//if its an array, we'll create a list to work with first and then convert to array later
//otherwise if its just a regular derivitave of IEnumerable, we can use a list too
newList = new List<object>();
}
else
{
//its a custom IEnumerable, we'll try to create it
try
{
var custom = Activator.CreateInstance(propertyInfo.PropertyType);
//if it's an IList we can work with it, otherwise we cannot
newList = custom as IList;
if (newList == null)
{
continue;
}
}
catch (Exception)
{
//could not create this type so we'll skip it
continue;
}
}
var enumerable = (IEnumerable)propertyInfo.GetValue(input, null);
var enumerable = (IEnumerable)clonePropertyInfo.PropertyInfo.GetValue(input, null);
if (enumerable == null) continue;
var newList = (IList)Activator.CreateInstance(clonePropertyInfo.GenericListType);
var isUsableType = true;
//now clone each item
@@ -130,21 +174,21 @@ namespace Umbraco.Core.Models
continue;
}
if (propertyInfo.PropertyType.IsArray)
if (clonePropertyInfo.PropertyInfo.PropertyType.IsArray)
{
//need to convert to array
var arr = (object[])Activator.CreateInstance(propertyInfo.PropertyType, newList.Count);
var arr = (object[])Activator.CreateInstance(clonePropertyInfo.PropertyInfo.PropertyType, newList.Count);
for (int i = 0; i < newList.Count; i++)
{
arr[i] = newList[i];
}
//set the cloned collection
propertyInfo.SetValue(output, arr, null);
clonePropertyInfo.PropertyInfo.SetValue(output, arr, null);
}
else
{
//set the cloned collection
propertyInfo.SetValue(output, newList, null);
clonePropertyInfo.PropertyInfo.SetValue(output, newList, null);
}
}
+12 -12
View File
@@ -14,6 +14,7 @@ namespace Umbraco.Core.Models
[DataContract(IsReference = true)]
public class DictionaryItem : Entity, IDictionaryItem
{
public Func<int, ILanguage> GetLanguage { get; set; }
private Guid? _parentId;
private string _itemKey;
private IEnumerable<IDictionaryTranslation> _translations;
@@ -78,7 +79,17 @@ namespace Umbraco.Core.Models
{
SetPropertyValueAndDetectChanges(o =>
{
_translations = value;
var asArray = value.ToArray();
//ensure the language callback is set on each translation
if (GetLanguage != null)
{
foreach (var translation in asArray.OfType<DictionaryTranslation>())
{
translation.GetLanguage = GetLanguage;
}
}
_translations = asArray;
return _translations;
}, _translations, TranslationsSelector,
//Custom comparer for enumerable
@@ -87,16 +98,5 @@ namespace Umbraco.Core.Models
enumerable => enumerable.GetHashCode()));
}
}
/// <summary>
/// Method to call before inserting a new entity in the db
/// </summary>
internal override void AddingEntity()
{
base.AddingEntity();
Key = Guid.NewGuid();
}
}
}
@@ -13,13 +13,18 @@ namespace Umbraco.Core.Models
[DataContract(IsReference = true)]
public class DictionaryTranslation : Entity, IDictionaryTranslation
{
internal Func<int, ILanguage> GetLanguage { get; set; }
private ILanguage _language;
private string _value;
//note: this will be memberwise cloned
private int _languageId;
public DictionaryTranslation(ILanguage language, string value)
{
if (language == null) throw new ArgumentNullException("language");
_language = language;
_languageId = _language.Id;
_value = value;
}
@@ -27,6 +32,20 @@ namespace Umbraco.Core.Models
{
if (language == null) throw new ArgumentNullException("language");
_language = language;
_languageId = _language.Id;
_value = value;
Key = uniqueId;
}
internal DictionaryTranslation(int languageId, string value)
{
_languageId = languageId;
_value = value;
}
internal DictionaryTranslation(int languageId, string value, Guid uniqueId)
{
_languageId = languageId;
_value = value;
Key = uniqueId;
}
@@ -37,20 +56,43 @@ namespace Umbraco.Core.Models
/// <summary>
/// Gets or sets the <see cref="Language"/> for the translation
/// </summary>
/// <remarks>
/// Marked as DoNotClone - TODO: this member shouldn't really exist here in the first place, the DictionaryItem
/// class will have a deep hierarchy of objects which all get deep cloned which we don't want. This should have simply
/// just referenced a language ID not the actual language object. In v8 we need to fix this.
/// We're going to have to do the same hacky stuff we had to do with the Template/File contents so that this is returned
/// on a callback.
/// </remarks>
[DataMember]
[DoNotClone]
public ILanguage Language
{
get { return _language; }
get
{
if (_language != null)
return _language;
// else, must lazy-load
if (GetLanguage != null && _languageId > 0)
_language = GetLanguage(_languageId);
return _language;
}
set
{
SetPropertyValueAndDetectChanges(o =>
{
_language = value;
_languageId = _language == null ? -1 : _language.Id;
return _language;
}, _language, LanguageSelector);
}
}
public int LanguageId
{
get { return _languageId; }
}
/// <summary>
/// Gets or sets the translated text
/// </summary>
@@ -68,5 +110,23 @@ namespace Umbraco.Core.Models
}
}
public override object DeepClone()
{
var clone = (DictionaryTranslation)base.DeepClone();
// clear fields that were memberwise-cloned and that we don't want to clone
clone._language = null;
// turn off change tracking
clone.DisableChangeTracking();
// this shouldn't really be needed since we're not tracking
clone.ResetDirtyProperties(false);
// re-enable tracking
clone.EnableChangeTracking();
return clone;
}
}
}
+4 -2
View File
@@ -62,9 +62,9 @@ namespace Umbraco.Core.Models.EntityBase
{
get
{
// if an entity does NOT have a UniqueId yet, assign one now
if (_key == Guid.Empty)
return _id.ToGuid();
_key = Guid.NewGuid();
return _key;
}
set
@@ -136,6 +136,7 @@ namespace Umbraco.Core.Models.EntityBase
{
_hasIdentity = false;
_id = default(int);
_key = Guid.Empty;
}
/// <summary>
@@ -242,6 +243,7 @@ namespace Umbraco.Core.Models.EntityBase
{
//Memberwise clone on Entity will work since it doesn't have any deep elements
// for any sub class this will work for standard properties as well that aren't complex object's themselves.
var ignored = this.Key; // ensure that 'this' has a key, before cloning
var clone = (Entity)MemberwiseClone();
//ensure the clone has it's own dictionaries
clone.ResetChangeTrackingCollections();
@@ -0,0 +1,93 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Umbraco.Core.Models
{
/// <summary>
/// Represents a folder for organizing entities such as content types and data types.
/// </summary>
public sealed class EntityContainer : UmbracoEntity
{
private readonly Guid _containedObjectType;
private static readonly Dictionary<Guid, Guid> ObjectTypeMap = new Dictionary<Guid, Guid>
{
{ Constants.ObjectTypes.DataTypeGuid, Constants.ObjectTypes.DataTypeContainerGuid },
{ Constants.ObjectTypes.DocumentTypeGuid, Constants.ObjectTypes.DocumentTypeContainerGuid },
{ Constants.ObjectTypes.MediaTypeGuid, Constants.ObjectTypes.MediaTypeContainerGuid }
};
/// <summary>
/// Initializes a new instance of an <see cref="EntityContainer"/> class.
/// </summary>
public EntityContainer(Guid containedObjectType)
{
if (ObjectTypeMap.ContainsKey(containedObjectType) == false)
throw new ArgumentException("Not a contained object type.", "containedObjectType");
_containedObjectType = containedObjectType;
ParentId = -1;
Path = "-1";
Level = 0;
SortOrder = 0;
}
/// <summary>
/// Initializes a new instance of an <see cref="EntityContainer"/> class.
/// </summary>
internal EntityContainer(int id, Guid uniqueId, int parentId, string path, int level, int sortOrder, Guid containedObjectType, string name, int userId)
: this(containedObjectType)
{
Id = id;
Key = uniqueId;
ParentId = parentId;
Name = name;
Path = path;
Level = level;
SortOrder = sortOrder;
CreatorId = userId;
}
/// <summary>
/// Gets or sets the node object type of the contained objects.
/// </summary>
public Guid ContainedObjectType
{
get { return _containedObjectType; }
}
/// <summary>
/// Gets the node object type of the container objects.
/// </summary>
public Guid ContainerObjectType
{
get { return ObjectTypeMap[_containedObjectType]; }
}
/// <summary>
/// Gets the container object type corresponding to a contained object type.
/// </summary>
/// <param name="containedObjectType">The contained object type.</param>
/// <returns>The object type of containers containing objects of the contained object type.</returns>
public static Guid GetContainerObjectType(Guid containedObjectType)
{
if (ObjectTypeMap.ContainsKey(containedObjectType) == false)
throw new ArgumentException("Not a contained object type.", "containedObjectType");
return ObjectTypeMap[containedObjectType];
}
/// <summary>
/// Gets the contained object type corresponding to a container object type.
/// </summary>
/// <param name="containerObjectType">The container object type.</param>
/// <returns>The object type of objects that containers of the container object type can contain.</returns>
public static Guid GetContainedObjectType(Guid containerObjectType)
{
var contained = ObjectTypeMap.FirstOrDefault(x => x.Value == containerObjectType).Key;
if (contained == null)
throw new ArgumentException("Not a container object type.", "containerObjectType");
return contained;
}
}
}
+57 -13
View File
@@ -2,6 +2,8 @@
using System.IO;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text;
using Umbraco.Core.IO;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models
@@ -15,12 +17,20 @@ namespace Umbraco.Core.Models
{
private string _path;
private string _originalPath;
private string _content = string.Empty; //initialize to empty string, not null
protected File(string path)
// initialize to string.Empty so that it is possible to save a new file,
// should use the lazyContent ctor to set it to null when loading existing.
// cannot simply use HasIdentity as some classes (eg Script) override it
// in a weird way.
private string _content;
internal Func<File, string> GetFileContent { get; set; }
protected File(string path, Func<File, string> getFileContent = null)
{
_path = path;
_path = SanitizePath(path);
_originalPath = _path;
GetFileContent = getFileContent;
_content = getFileContent != null ? null : string.Empty;
}
private static readonly PropertyInfo ContentSelector = ExpressionHelper.GetPropertyInfo<File, string>(x => x.Content);
@@ -28,6 +38,14 @@ namespace Umbraco.Core.Models
private string _alias;
private string _name;
private static string SanitizePath(string path)
{
return path
.Replace('\\', System.IO.Path.DirectorySeparatorChar)
.Replace('/', System.IO.Path.DirectorySeparatorChar);
//.TrimStart(System.IO.Path.DirectorySeparatorChar);
}
/// <summary>
/// Gets or sets the Name of the File including extension
/// </summary>
@@ -71,7 +89,7 @@ namespace Umbraco.Core.Models
SetPropertyValueAndDetectChanges(o =>
{
_path = value;
_path = SanitizePath(value);
return _path;
}, _path, PathSelector);
}
@@ -96,15 +114,26 @@ namespace Umbraco.Core.Models
/// <summary>
/// Gets or sets the Content of a File
/// </summary>
/// <remarks>Marked as DoNotClone, because it should be lazy-reloaded from disk.</remarks>
[DataMember]
[DoNotClone]
public virtual string Content
{
get { return _content; }
get
{
if (_content != null)
return _content;
// else, must lazy-load, and ensure it's not null
if (GetFileContent != null)
_content = GetFileContent(this);
return _content ?? (_content = string.Empty);
}
set
{
SetPropertyValueAndDetectChanges(o =>
{
_content = value;
_content = value ?? string.Empty; // cannot set to null
return _content;
}, _content, ContentSelector);
}
@@ -121,17 +150,32 @@ namespace Umbraco.Core.Models
return true;
}
// this exists so that class that manage name and alias differently, eg Template,
// can implement their own cloning - (though really, not sure it's even needed)
protected virtual void DeepCloneNameAndAlias(File clone)
{
// set fields that have a lazy value, by forcing evaluation of the lazy
clone._name = Name;
clone._alias = Alias;
}
public override object DeepClone()
{
var clone = (File)base.DeepClone();
//turn off change tracking
var clone = (File) base.DeepClone();
// clear fields that were memberwise-cloned and that we don't want to clone
clone._content = null;
// turn off change tracking
clone.DisableChangeTracking();
//need to manually assign since they are readonly properties
clone._alias = Alias;
clone._name = Name;
//this shouldn't really be needed since we're not tracking
// ...
DeepCloneNameAndAlias(clone);
// this shouldn't really be needed since we're not tracking
clone.ResetDirtyProperties(false);
//re-enable tracking
// re-enable tracking
clone.EnableChangeTracking();
return clone;
+6 -1
View File
@@ -54,10 +54,15 @@ namespace Umbraco.Core.Models
PropertyGroupCollection PropertyGroups { get; set; }
/// <summary>
/// Gets an enumerable list of Property Types aggregated for all groups
/// Gets all property types, across all property groups.
/// </summary>
IEnumerable<PropertyType> PropertyTypes { get; }
/// <summary>
/// Gets or sets the property types that are not in a group.
/// </summary>
IEnumerable<PropertyType> NoGroupPropertyTypes { get; set; }
/// <summary>
/// Removes a PropertyType from the current ContentType
/// </summary>

Some files were not shown because too many files have changed in this diff Show More