diff --git a/Components/DLM/BExIS.Dlm.Entities/Data/EntityTemplate.cs b/Components/DLM/BExIS.Dlm.Entities/Data/EntityTemplate.cs index 2049032591..67f483a53d 100644 --- a/Components/DLM/BExIS.Dlm.Entities/Data/EntityTemplate.cs +++ b/Components/DLM/BExIS.Dlm.Entities/Data/EntityTemplate.cs @@ -17,6 +17,11 @@ public class EntityTemplate : BaseEntity /// public virtual string Description { get; set; } + /// + /// Description of the Entity Template + /// + public virtual int Order { get; set; } + /// /// Entity /// @@ -169,7 +174,7 @@ public EntityTemplate() PermissionGroups = new PermissionsType(); NotificationGroups = new List(); MetadataInvalidSaveMode = true; - + Order = 0; JsonAllowedFileTypes = ""; JsonDatastructureList = ""; JsonDisabledHooks = ""; diff --git a/Components/DLM/BExIS.Dlm.Orm.NH/Mappings/Default/Data/EntityTemplate.hbm.xml b/Components/DLM/BExIS.Dlm.Orm.NH/Mappings/Default/Data/EntityTemplate.hbm.xml index 59d4a5c1cd..6e4b3ddff9 100644 --- a/Components/DLM/BExIS.Dlm.Orm.NH/Mappings/Default/Data/EntityTemplate.hbm.xml +++ b/Components/DLM/BExIS.Dlm.Orm.NH/Mappings/Default/Data/EntityTemplate.hbm.xml @@ -28,6 +28,10 @@ + + + + diff --git a/Console/BExIS.Web.Shell.Svelte/src/components/entry.svelte b/Console/BExIS.Web.Shell.Svelte/src/components/entry.svelte index 75f7825c78..a9d376cac3 100644 --- a/Console/BExIS.Web.Shell.Svelte/src/components/entry.svelte +++ b/Console/BExIS.Web.Shell.Svelte/src/components/entry.svelte @@ -62,7 +62,7 @@
helpStore.show(entry.key)}> item != null && item != undefined && item != ''); + } function successHandler(e) { diff --git a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/models/EntityTemplate.ts b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/models/EntityTemplate.ts index 256c132412..a66fb7e2fd 100644 --- a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/models/EntityTemplate.ts +++ b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/models/EntityTemplate.ts @@ -4,6 +4,7 @@ export interface EntityTemplateModel { id: number; name: string; description: string; + order: number; entityType: ListItem; metadataStructure: ListItem; metadataFields: number[]; diff --git a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/create/ListItem.svelte b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/create/ListItem.svelte index 2cea6e4e53..e6488cbb52 100644 --- a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/create/ListItem.svelte +++ b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/create/ListItem.svelte @@ -14,7 +14,7 @@ -
{name} {description}
-
-
- - {metadataStructure.text} - {entityType.text} -
-
- - {allowedFileTypes.join(', ')} - +
+ +
+ {metadataStructure.text} + {entityType.text}
+
+ + {allowedFileTypes.join(', ')} + +
diff --git a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/entitytemplates/Card.svelte b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/entitytemplates/Card.svelte index 27065f99d7..f92b03e09f 100644 --- a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/entitytemplates/Card.svelte +++ b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/entitytemplates/Card.svelte @@ -13,6 +13,7 @@ export let linkedSubjects = []; export let allowedFileTypes = []; export let activated = false; + export let order = 0; let hidden = true; diff --git a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/entitytemplates/Edit.svelte b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/entitytemplates/Edit.svelte index 85d925b0c5..e458770ef6 100644 --- a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/entitytemplates/Edit.svelte +++ b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.Svelte/src/routes/entitytemplates/Edit.svelte @@ -5,7 +5,7 @@ // ui Components import Fa from 'svelte-fa'; - import { DropdownKVP, MultiSelect, TextArea, TextInput, Spinner } from '@bexis2/bexis2-core-ui'; + import { DropdownKVP, MultiSelect, TextArea, TextInput, Spinner, NumberInput } from '@bexis2/bexis2-core-ui'; import { faSave, faXmark } from '@fortawesome/free-solid-svg-icons/index'; import { SlideToggle } from '@skeletonlabs/skeleton'; import ContentContainer from '../../lib/components/ContentContainer.svelte'; @@ -176,6 +176,7 @@ placeholder="Define a unique content-related name for your template." help={true} /> + + +

Metadata

diff --git a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Controllers/CreateController.cs b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Controllers/CreateController.cs index c1cc69540c..857d003eaa 100644 --- a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Controllers/CreateController.cs +++ b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Controllers/CreateController.cs @@ -462,7 +462,7 @@ public JsonResult GetEntityTemplateList() List entityTemplateModels = new List(); using (var entityTemplateManager = new EntityTemplateManager()) { - foreach (var e in entityTemplateManager.Repo.Query(e=>e.Activated).ToList()) + foreach (var e in entityTemplateManager.Repo.Query(e=>e.Activated).OrderBy(e=>e.Order).ToList()) { entityTemplateModels.Add(EntityTemplateHelper.ConvertTo(e, false)); } diff --git a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Controllers/EntityTemplatesController.cs b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Controllers/EntityTemplatesController.cs index 95ec3fe881..8d2ce0a23a 100644 --- a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Controllers/EntityTemplatesController.cs +++ b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Controllers/EntityTemplatesController.cs @@ -18,6 +18,7 @@ using System.Collections.Generic; using System.Linq; using System.Web.Mvc; +using Telerik.Web.Mvc.Extensions; using Vaiona.Web.Extensions; namespace BExIS.Modules.Dcm.UI.Controllers @@ -49,7 +50,9 @@ public JsonResult Load() List entityTemplateModels = new List(); using (var entityTemplateManager = new EntityTemplateManager()) { - foreach (var e in entityTemplateManager.Repo.Get()) + var l = entityTemplateManager.Repo.Query().OrderBy(e => e.Order).ToList(); + + foreach (var e in l) { entityTemplateModels.Add(EntityTemplateHelper.ConvertTo(e)); } diff --git a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Helpers/EntityTemplateHelper.cs b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Helpers/EntityTemplateHelper.cs index c6813b4117..4081d2fc7a 100644 --- a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Helpers/EntityTemplateHelper.cs +++ b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Helpers/EntityTemplateHelper.cs @@ -28,6 +28,7 @@ public static EntityTemplate ConvertTo(EntityTemplateModel model) entityTemplate.NotificationGroups = model.NotificationGroups; entityTemplate.MetadataFields = model.MetadataFields; entityTemplate.Activated = model.Activated; + entityTemplate.Order = model.Order; // load entites // metadata @@ -68,6 +69,7 @@ public static EntityTemplate Merge(EntityTemplateModel model) entityTemplate.NotificationGroups = model.NotificationGroups; entityTemplate.MetadataFields = model.MetadataFields; entityTemplate.Activated = model.Activated; + entityTemplate.Order = model.Order; // load entites // metadata @@ -98,6 +100,8 @@ public static EntityTemplateModel ConvertTo(EntityTemplate entityTemplate, bool model.NotificationGroups = entityTemplate.NotificationGroups != null ? entityTemplate.NotificationGroups : new List(); model.MetadataFields = entityTemplate.MetadataFields != null ? entityTemplate.MetadataFields : new List(); model.Activated = entityTemplate.Activated; + model.Order = entityTemplate.Order; + var xmlDatasetHelper = new XmlDatasetHelper(); diff --git a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Models/EntityTemplates/EntityTemplateModels.cs b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Models/EntityTemplates/EntityTemplateModels.cs index 1db777c199..a8cd964b8f 100644 --- a/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Models/EntityTemplates/EntityTemplateModels.cs +++ b/Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI/Models/EntityTemplates/EntityTemplateModels.cs @@ -21,6 +21,11 @@ public class EntityTemplateModel /// public string Description { get; set; } + /// + /// Order of the Entity Template in the list of templates + /// + public int Order { get; set; } + /// /// Entity /// @@ -101,6 +106,7 @@ public EntityTemplateModel() LinkedSubjects = new List(); InUse = false; + Order = 0; } public class KvP diff --git a/Console/BExIS.Web.Shell/Areas/RPM/BExIS.Modules.Rpm.UI.Svelte/src/lib/components/datastructure/structure/DwcRequirements.svelte b/Console/BExIS.Web.Shell/Areas/RPM/BExIS.Modules.Rpm.UI.Svelte/src/lib/components/datastructure/structure/DwcRequirements.svelte index 62877116fa..2a1ccb1124 100644 --- a/Console/BExIS.Web.Shell/Areas/RPM/BExIS.Modules.Rpm.UI.Svelte/src/lib/components/datastructure/structure/DwcRequirements.svelte +++ b/Console/BExIS.Web.Shell/Areas/RPM/BExIS.Modules.Rpm.UI.Svelte/src/lib/components/datastructure/structure/DwcRequirements.svelte @@ -43,9 +43,9 @@ } } +{#if dwcExtensions && isActive}
- {#if dwcExtensions && isActive} All required fields are set.
{/if} {/if} - {/if}
+ {/if} + diff --git a/Console/BExIS.Web.Shell/Areas/RPM/BExIS.Modules.Rpm.UI/Controllers/DataStructureController.cs b/Console/BExIS.Web.Shell/Areas/RPM/BExIS.Modules.Rpm.UI/Controllers/DataStructureController.cs index 4b38577986..f219287f7a 100644 --- a/Console/BExIS.Web.Shell/Areas/RPM/BExIS.Modules.Rpm.UI/Controllers/DataStructureController.cs +++ b/Console/BExIS.Web.Shell/Areas/RPM/BExIS.Modules.Rpm.UI/Controllers/DataStructureController.cs @@ -134,7 +134,7 @@ public ActionResult Create(string file, long entityId = 0, long structureId = 0, ViewData["enforcePrimaryKey"] = enforcePrimaryKey; bool showDarwinCoreValidation = (bool)ModuleManager.GetModuleSettings("RPM").GetValueByKey("showDarwinCoreValidation"); - ViewData["showDarwinCoreValidation"] = enforcePrimaryKey; + ViewData["showDarwinCoreValidation"] = showDarwinCoreValidation; return View("Create"); } @@ -169,7 +169,7 @@ public ActionResult Edit(long structureId = 0) ViewData["enforcePrimaryKey"] = enforcePrimaryKey; bool showDarwinCoreValidation = (bool)ModuleManager.GetModuleSettings("RPM").GetValueByKey("showDarwinCoreValidation"); - ViewData["showDarwinCoreValidation"] = enforcePrimaryKey; + ViewData["showDarwinCoreValidation"] = showDarwinCoreValidation; ViewData["dataExist"] = structureHelper.InUseAndDataExist(structureId); diff --git a/database update scripts/4.2.1-4.3.0.sql b/database update scripts/4.2.1-4.3.0.sql index a6b02385dd..aac1c3a9c3 100644 --- a/database update scripts/4.2.1-4.3.0.sql +++ b/database update scripts/4.2.1-4.3.0.sql @@ -5,6 +5,8 @@ INSERT INTO public.versions( versionno, extra, module, value, date) VALUES (1, null, 'Shell', '4.3.0',NOW()); + +--- operations for new features INSERT INTO public.operations (versionno, extra, module, controller, action, featureref) SELECT 1, NULL, 'DDM', 'metadiff', '*', null WHERE NOT EXISTS (SELECT * FROM public.operations WHERE module='DDM' AND controller='metadiff'); @@ -29,4 +31,8 @@ INSERT INTO public.operations (versionno, extra, module, controller, action, fea SELECT 1, NULL, 'DCM', 'componentconfig', '*', null WHERE NOT EXISTS (SELECT * FROM public.operations WHERE module='DCM' AND controller='componentconfig'); +-- add order column in entity template table +ALTER TABLE entitytemplates +ADD COLUMN "ordernr" INTEGER; + commit;