Start of work on templates - identify templates that apply to existing entries

This commit is contained in:
2025-06-09 14:26:01 +10:00
parent 8602c2b17f
commit 820f398c2c
11 changed files with 305 additions and 41 deletions

18
templates/dns_domain.json Normal file
View File

@@ -0,0 +1,18 @@
{
"title": "Generic: DNS Entry",
"description": "New DNS Entry",
"enabled": true,
"icon": "fa-globe",
"rdn": "dc",
"objectclasses": [
"dnsDomain"
],
"attributes": {
"dc": {
"display": "Domain Component",
"order": 1
}
}
}

25
templates/example.json Normal file
View File

@@ -0,0 +1,25 @@
{
"title": "Example entry",
"description": "This is the description",
"enabled": false,
"icon": "fa-star-of-life",
"rdn": "o",
"regexp": "/^$/",
"objectclasses": [
"organization"
],
"attributes": {
"attribute1": {
"display": "Attribute 1",
"hint": "This is an example",
"order": 1
},
"attribute2": {
"display": "Attribute 2",
"hint": "This is an example",
"order": 2
}
}
}

20
templates/o.json Normal file
View File

@@ -0,0 +1,20 @@
{
"title": "Generic: Organisational",
"description": "New Organisational",
"enabled": true,
"icon": "fa-building",
"rdn": "ou",
"regexp": "/^c=.+,?/",
"objectclasses": [
"organization"
],
"attributes": {
"o": {
"display": "Organisation",
"hint": "This is an example",
"order": 1
}
}
}

20
templates/ou.json Normal file
View File

@@ -0,0 +1,20 @@
{
"title": "Generic: Organisational Unit",
"description": "New Organisational Unit",
"enabled": true,
"icon": "fa-layer-group",
"rdn": "ou",
"regexp": "/^o=.+,?/",
"objectclasses": [
"organizationalUnit"
],
"attributes": {
"ou": {
"display": "Organisational Unit",
"hint": "This is an example",
"order": 1
}
}
}

View File

@@ -0,0 +1,82 @@
{
"title": "Generic: User Account",
"description": "New User Account",
"enabled": true,
"icon": "fa-user",
"rdn": "cn",
"regexp": "/^ou=.+,o=.+,?/",
"objectclasses": [
"inetOrgPerson",
"posixAccount"
],
"attributes": {
"givenName": {
"display": "First Name",
"onchange": [
"=autoFill(cn;%givenName% %sn%)",
"=autoFill(uid;%givenName|0-1/l%%sn/l%)"
],
"order": 1
},
"sn": {
"display": "Last Name",
"onchange": [
"=autoFill(cn;%givenName% %sn%)",
"=autoFill(uid;%givenName|0-1/l%%sn/l%)"
],
"order": 2
},
"cn": {
"display": "Common Name",
"readonly": true,
"order": 3
},
"uid": {
"display": "User ID",
"onchange": [
"=autoFill(homeDirectory;/home/users/%uid%)"
],
"order": 4
},
"userPassword": {
"display": "Password",
"order": 5
},
"uidNumber": {
"display": "UID Number",
"readonly": true,
"value": "=php.GetNextNumber(/;uidNumber)",
"order": 6
},
"gidNumber": {
"display": "UID Number",
"readonly": true,
"onchange": [
"=autoFill(homeDirectory;/home/users/%gidNumber|0-0/T%/%uid|3-%)"
],
"value": "=php.GetNextNumber(/;uidNumber)",
"value": "=php.PickList(/;(&(objectClass=posixGroup));gidNumber;%cn%;;;;cn)",
"order": 7
},
"homeDirectory": {
"display": "Home Directory",
"order": 8
},
"loginShell": {
"display": "Login Shell",
"select": {
"/bin/bash": "Bash",
"/bin/csh": "C Shell",
"/bin/dash": "Dash",
"/bin/sh": "Shell",
"/bin/tsh": "Turbo C Shell",
"/bin/zsh": "ZSH",
"/bin/false": "False",
"/usr/sbin/nologin": "No Login"
},
"order": 9
}
}
}