mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-07-31 19:06:34 +08:00
#19892: Fixing types overriding when creating taxonomies
Work Item: 19892 --HG-- branch : 1.x extra : rebase_source : 7eec6c6fb3c099c290c0a526f1dd6b1cc2be777e
This commit is contained in:
parent
aaa0bd7592
commit
4d576e9ef0
@ -21,12 +21,13 @@ namespace Orchard.Taxonomies.Handlers {
|
||||
|
||||
Filters.Add(StorageFilter.For(repository));
|
||||
OnPublished<TaxonomyPart>((context, part) => {
|
||||
var previousTermTypeName = part.TermTypeName;
|
||||
taxonomyService.CreateTermContentType(part);
|
||||
|
||||
if (previousName != null && part.Name != previousName) {
|
||||
|
||||
// remove previous term type
|
||||
contentDefinitionManager.DeleteTypeDefinition(previousName + " Term");
|
||||
contentDefinitionManager.DeleteTypeDefinition(previousTermTypeName);
|
||||
|
||||
// update existing fields
|
||||
foreach (var partDefinition in contentDefinitionManager.ListPartDefinitions()) {
|
||||
|
@ -114,7 +114,13 @@ namespace Orchard.Taxonomies.Services {
|
||||
}
|
||||
|
||||
public string GenerateTermTypeName(string taxonomyName) {
|
||||
return taxonomyName.ToSafeName();
|
||||
var name = taxonomyName.ToSafeName() + "Term";
|
||||
int i = 2;
|
||||
while (_contentDefinitionManager.GetTypeDefinition(name) != null) {
|
||||
name = taxonomyName.ToSafeName() + i++;
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
public TermPart NewTerm(TaxonomyPart taxonomy) {
|
||||
|
Loading…
Reference in New Issue
Block a user