Commit Graph

42 Commits

Author SHA1 Message Date
Shannon
8905878a87 Adds some methods to TracksChangesEntityBase to enable/disable change tracking and to reset the change tracking dictionaries, this is then used for DeepCloning so that change tracking is turned off for the cloning process. 2015-03-03 18:33:04 +11:00
Shannon
967030a9c4 Fixes up issues when tracking dirty changes on numerical or empty string values because json.net converts numerical to long and we were setting those values on the Property.Value which means that comparing long -> int will always return false and thus the property is flagged as dirty. Same goes with string and null when dealing with an object. This is all fixed up now and have added another method to see if we shold actually persist any changes for content when saving. This all relates to fixing: U4-5510 Previewing a content item saves that item 2014-10-21 13:12:31 +10:00
Shannon
d772336c0f Fixes: U4-4695 Copy document type to new parent seems to lose some data, U4-4535 Create Copy method on the content type Service 2014-04-22 17:48:08 +10:00
Shannon
fee23fac0a updates deep clone to have the false flag for resetting properties (we don't want to remember them when cloning)
Conflicts:
	src/Umbraco.Core/Models/Member.cs
2014-04-17 18:54:55 +10:00
Shannon
1f2e46a195 Simplifies much of the deep cloning with the DeepCloneHelper and adds tests 2014-04-16 13:39:42 +10:00
Shannon
58758e7a41 More work on deep cloning, have test passing for IContent 2014-04-15 13:52:49 +10:00
Shannon
b7f7775b89 adds initial commit of entity cloning 2014-02-20 22:34:54 +11:00
Morten Christensen
20b4975cfb Creating a new Member/IMember and MemberType/IMemberType class under the Umbraco.Core.Model namespace in order to move away from the weird structure that we initially ported over.
Refactoring the MemberTypeRepository to use the new MemberType class.
Starting the implementation of ReadOnly DTOs for MemberType.
Starting the implementation of the factory for the MemberTypeReadOnlyDto.
2013-08-31 19:13:36 +02:00
Shannon
0fbc32a87f Fixes up logic for creating new versions (U4-2589 Save and Publish is not creating version of document) 2013-08-08 10:42:06 +10:00
Shannon
868edee5e6 Fixes: #U4-2161 - permissions inheritance. Fixes up how user permissions cache is invalidated and looked up (it is now lazy and not forced). User permissions are also cached as a low priority for now and only for 20 mins based on #U4-2474. 2013-07-09 11:47:46 +10:00
Shannon Deminick
7ea87638f7 Updates all Entity models to use SetPropertyValueAndDetectChanges for setting all simple properties so that
tracking changes works the way it is supposed to. Creates a TracksChangesEntityBase class for any other entity
that wants to implement IRememberBeingDirty (now Entity inherits from this). Upgraded a bunch of other entities that
were not tracking changes properly.
2013-03-21 00:05:56 +06:00
Shannon Deminick
75d218d2e3 Updated how mappers for persistence work with the MapperFor attribute and have made BaseMapper public but have
kept all properties, etc.. internal just so that they can be found so we don't have to register them.
Updates unit test to ensure the plugin manager is init'd properly with the 'false' override. Ensures that the base
db test also initializes the plugin manager properly.
2013-03-13 01:09:29 +04:00
Shannon Deminick
da331b7408 Changed how model mappers work for persistence objects so we don't have to statically associate the mapper. 2013-03-07 22:27:47 +06:00
Shannon Deminick
de13f7e361 WIP ... Fixes: #U4-1666, Updates documentService to not have to manually
refresh content cache (and fix the unpublishing too since that logic wasn't correct)
Adds DebuggerDisplay support to ContentBase and Entity for better debugging info.
Adds new internal publishing methods to support publishing all children or only children previously published. This also adds new support
for getting a published result back even with bulk publishing.
Updates the publish dialog with new code and to use the new API based on issue #U4-1669.
Adds UmbracoUser property to AuthenticatedUmbracoController, Adds all common properties to the abstract UmbracoController.
Changes the legacy Document to allow content cache to be automatically refreshed (based on events)
2013-02-09 04:05:01 +06:00
Morten Christensen
1e8b82f5df Fixes U4-1576. Ensures that structure is kept when moving content and media to and from the recycle bin.
Path and Level are updated accordingly.
2013-01-29 10:26:18 -01:00
Morten Christensen
25f91cc0da Fixes U4-1534 so documents containing the tag datatype is properly copied.
Copying a document with a Tags datatype on it would only work if a new TagRelationship is created.
2013-01-24 13:49:41 -01:00
Morten Christensen
ef9b0b6433 Fixes U4-1429 - A name is now required for creating Content and Media. 2013-01-15 10:12:23 -01:00
Morten Christensen
6a6a95f7dc Correcting MediaService so it also moves any children to the recycle bin when trashing an item. 2013-01-11 10:38:32 -01:00
Morten Christensen
ca2942fdd9 Refactoring ChangePublishedState to use an enum instead of a boolean. 2013-01-10 14:07:07 -01:00
Morten Christensen
8338102944 Reverting use of DateTime.UtcNow to DateTime.Now in the new api. 2012-12-28 10:43:34 -01:00
Morten Christensen
d816ac1125 Merge with 6.0.0 2012-12-21 08:38:43 -01:00
Morten Christensen
bae4352e77 Refactoring the saving of properties, so that its consistent for Content, Media and Member that all use the ContentControl.
Adding a clear cache call in the MediaType and DocumentType Save method to ensure the correct loading of properties/propertytypes.
Adding IsPublishable method to ContentService, so we have a way to check if a content can be published depending on the state of the ancestors.
2012-12-18 11:46:05 -01:00
Shannon Deminick
b765dffea7 Removed the need for the services to have IEnumerable<Lazy<T>> parameters for bulk inserting, instead we enable the ability
to pass in an entity reference as a parent to the object if we want to lazily create heirarchy. This has been changed for the
ContentService and ContentTypeService as well as the entities for Media, Content, ContentType, MediaType and more unit tests written for it.
2012-12-16 04:02:29 +05:00
Morten Christensen
207c651743 Refactoring the Document class for publishing and unpublishing.
Bumped into an issue with nullable datetime and petapoco, which now has a workaround in our IMapper.
Fix a few issues around the Published state on previous versions.
2012-12-13 13:05:23 -01:00
Morten Christensen
3f35f1df00 Refactoring Document class to use new public api.
Adding Obsolete attributes to methods in Document class that has been updated.
Updating the PublishingStrategy to fire final event after content and xml has been properly updated in the db.
Adding a few new methods to the ContentService.
2012-12-12 15:17:48 -01:00
Morten Christensen
e07fc8c2ba Adding language column to cmsContentVersion 2012-11-26 09:02:49 -01:00
Morten Christensen
5540959e71 Correcting ability to set guid Key, as it was overwritten when saving.
Adding unit tests to verify get/set Key.
Adding unit tests to verify GetById with guid Key.
Adding overload to GetById with guid Key to supplement the int Id.
2012-11-13 19:07:43 -01:00
Morten Christensen
61afe225be Adding Template to ContentType and Content objects and updating repositories accordingly.
Removing templates from the mocks for the time being.
2012-11-11 19:02:45 -01:00
Morten Christensen
eb4fc26e1f Implementing last methods in TemplateRepository plus added a TemplateFactory for mapping dtos-entities.
Removing old FileOnly-repo version of the TemplateRepository.
Refactoring FileService to use new repository.
2012-11-11 12:20:14 -01:00
Morten Christensen
dffc6ca1a0 Refactoring entities with Users to only add Id to minimize the object graph.
Moved getting an IProfile to an extension method, as its not commonly used.
Removing dependencies in ContentService, so the Services and context can be moved to Core proj.
Implementing Template repository to use both filesystem and db.
2012-11-11 06:53:02 -01:00
sitereactor
de9c373626 Adding some initial work for Membership related classes and interfaces, but only using IProfile and Profile as the rest are not part of the roadmap.
Adding a UserService, which should be fully implemented in a later release.
Refactoring usage of the ServiceContext, which is now loosely tied to the HttpContext as its used by the UserService.
Refactoring User/Writer on the Content class and interface.
Simplifying events and delegates in the publishing strategy.
2012-11-05 14:42:21 -01:00
sitereactor
98ef3f96f8 Correcting issue with RepositoryResolver not setting the unit of work when resolving. 2012-11-02 11:54:42 -01:00
sitereactor
ccb1734a04 Removing dependency on DbProviderFactories in DatabaseFactory.
Refactoring mocked content used by ContentTests.
Refactoring dirty-usage.
2012-11-02 09:11:23 -01:00
sitereactor
3d7376824d Adding more unit tests to cover different scenarios for publishing logic 2012-11-01 13:48:03 -01:00
sitereactor
0c4c429b68 Implements U4-943 to the extent its currently possible.
Refactoring publishing methods in the ContentService.
Adding tests for the QueryBuilder.
2012-10-29 14:28:16 -01:00
Morten@Thinkpad-X220
4e19127dcf Adding unit tests for Content along with some test helpers.
Implements ContentService U4-936
2012-10-10 12:13:23 -02:00
Morten@Thinkpad-X220
74ecbac7d7 Refactoring Content/Media and ContentTypes/MediaTypes so the two are as close as possible. By doing this Media and Content are practically the same witht the except of a few properties.
This implements U4-10
2012-10-10 08:42:54 -02:00
Morten@Thinkpad-X220
dc1689bdf2 Removing PropertyValues-method from Content and Media and making it an extension method instead.
Adding the PropertyEditor model as internal to slowly adopt it using a slightly different model approach then in v5.
Minor refactoring of IEntity/Entity.
2012-10-05 11:03:08 -02:00
Morten@Thinkpad-X220
9e37e1674d Adds Media implementation U4-931
Adding some notes and small change to IContentBase, PropertyValues and the ability to set property values with an anonymous object is shared for Content and Media.
2012-10-04 12:38:43 -02:00
Morten@Thinkpad-X220
bd180fd6ba Adds IMacro, IMacroProperty and IMacroPropertyType interfaces.
Adds Macro and MacroProperty implementations U4-928.
Adds enums used for MacroTypes and MacroPropertyTypeBaseTypes
2012-10-03 11:59:49 -02:00
Morten@Thinkpad-X220
d6b4307c8d Undoing the private set on Parent Id as it should be possible to change 2012-10-03 10:27:43 -02:00
Morten@Thinkpad-X220
3d99cec04c Adds Content, ContentStatus and ContentType implementations U4-922 and U4-923.
Hiding language property untill its fully implemented.
Making set on Parent Id private.
Resolves a naming conflict in DocumentExtensions and DefaultPublishedMediaStore.
2012-10-03 10:26:50 -02:00