diff --git a/client/components/settings/peopleBody.jade b/client/components/settings/peopleBody.jade index e81ed2aca..727c7d3f2 100644 --- a/client/components/settings/peopleBody.jade +++ b/client/components/settings/peopleBody.jade @@ -78,6 +78,7 @@ template(name="orgGeneral") th {{_ 'displayName'}} th {{_ 'description'}} th {{_ 'shortName'}} + th {{_ 'autoAddUsersWithDomainName'}} th {{_ 'website'}} th {{_ 'createdAt'}} th {{_ 'active'}} @@ -159,6 +160,10 @@ template(name="orgRow") td {{ orgData.orgShortName }} else td {{ orgData.orgShortName }} + if orgData.orgIsActive + td {{ orgData.orgAutoAddUsersWithDomainName }} + else + td {{ orgData.orgAutoAddUsersWithDomainName }} if orgData.orgIsActive td {{ orgData.orgWebsite }} else @@ -307,6 +312,9 @@ template(name="editOrgPopup") label | {{_ 'shortName'}} input.js-orgShortName(type="text" value=org.orgShortName required) + label + | {{_ 'autoAddUsersWithDomainName'}} + input.js-orgAutoAddUsersWithDomainName(type="text" value=org.orgAutoAddUsersWithDomainName) label | {{_ 'website'}} input.js-orgWebsite(type="text" value=org.orgWebsite required) @@ -436,6 +444,9 @@ template(name="newOrgPopup") label | {{_ 'shortName'}} input.js-orgShortName(type="text" value="" required) + label + | {{_ 'autoAddUsersWithDomainName'}} + input.js-orgAutoAddUsersWithDomainName(type="text" value="") label | {{_ 'website'}} input.js-orgWebsite(type="text" value="" required) diff --git a/client/components/settings/peopleBody.js b/client/components/settings/peopleBody.js index b2c74e291..b80890c58 100644 --- a/client/components/settings/peopleBody.js +++ b/client/components/settings/peopleBody.js @@ -576,12 +576,14 @@ Template.editOrgPopup.events({ .value.trim(); const orgDesc = templateInstance.find('.js-orgDesc').value.trim(); const orgShortName = templateInstance.find('.js-orgShortName').value.trim(); + const orgAutoAddUsersWithDomainName = templateInstance.find('.js-orgAutoAddUsersWithDomainName').value.trim(); const orgWebsite = templateInstance.find('.js-orgWebsite').value.trim(); const orgIsActive = templateInstance.find('.js-org-isactive').value.trim() == 'true'; const isChangeOrgDisplayName = orgDisplayName !== org.orgDisplayName; const isChangeOrgDesc = orgDesc !== org.orgDesc; const isChangeOrgShortName = orgShortName !== org.orgShortName; + const isChangeOrgAutoAddUsersWithDomainName = orgAutoAddUsersWithDomainName !== org.orgAutoAddUsersWithDomainName; const isChangeOrgWebsite = orgWebsite !== org.orgWebsite; const isChangeOrgIsActive = orgIsActive !== org.orgIsActive; @@ -589,6 +591,7 @@ Template.editOrgPopup.events({ isChangeOrgDisplayName || isChangeOrgDesc || isChangeOrgShortName || + isChangeOrgAutoAddUsersWithDomainName || isChangeOrgWebsite || isChangeOrgIsActive ) { @@ -598,6 +601,7 @@ Template.editOrgPopup.events({ orgDisplayName, orgDesc, orgShortName, + orgAutoAddUsersWithDomainName, orgWebsite, orgIsActive, ); @@ -920,6 +924,7 @@ Template.newOrgPopup.events({ .value.trim(); const orgDesc = templateInstance.find('.js-orgDesc').value.trim(); const orgShortName = templateInstance.find('.js-orgShortName').value.trim(); + const orgAutoAddUsersWithDomainName = templateInstance.find('.js-orgAutoAddUsersWithDomainName').value.trim(); const orgWebsite = templateInstance.find('.js-orgWebsite').value.trim(); const orgIsActive = templateInstance.find('.js-org-isactive').value.trim() == 'true'; @@ -929,6 +934,7 @@ Template.newOrgPopup.events({ orgDisplayName, orgDesc, orgShortName, + orgAutoAddUsersWithDomainName, orgWebsite, orgIsActive, ); diff --git a/imports/i18n/data/en.i18n.json b/imports/i18n/data/en.i18n.json index 68121aefa..5c932b5ef 100644 --- a/imports/i18n/data/en.i18n.json +++ b/imports/i18n/data/en.i18n.json @@ -962,6 +962,7 @@ "teams": "Teams", "displayName": "Display Name", "shortName": "Short Name", + "autoAddUsersWithDomainName": "Automatically add users with the domain name", "website": "Website", "person": "Person", "my-cards": "My Cards", diff --git a/models/org.js b/models/org.js index b389d8a10..17c0b1981 100644 --- a/models/org.js +++ b/models/org.js @@ -30,6 +30,14 @@ Org.attachSchema( optional: true, max: 255, }, + orgAutoAddUsersWithDomainName: { + /** + * automatically add users with domain name + */ + type: String, + optional: true, + max: 255, + }, orgWebsite: { /** * website of the organization @@ -115,6 +123,7 @@ if (Meteor.isServer) { orgDisplayName, orgDesc, orgShortName, + orgAutoAddUsersWithDomainName, orgWebsite, orgIsActive, ) { @@ -122,6 +131,7 @@ if (Meteor.isServer) { check(orgDisplayName, String); check(orgDesc, String); check(orgShortName, String); + check(orgAutoAddUsersWithDomainName, String); check(orgWebsite, String); check(orgIsActive, Boolean); @@ -133,6 +143,7 @@ if (Meteor.isServer) { orgDisplayName, orgDesc, orgShortName, + orgAutoAddUsersWithDomainName, orgWebsite, orgIsActive, }); @@ -143,12 +154,14 @@ if (Meteor.isServer) { orgDisplayName, orgDesc, orgShortName, + orgAutoAddUsersWithDomainName, orgWebsite, orgIsActive, ) { check(orgDisplayName, String); check(orgDesc, String); check(orgShortName, String); + check(orgAutoAddUsersWithDomainName, String); check(orgWebsite, String); check(orgIsActive, Boolean); @@ -160,6 +173,7 @@ if (Meteor.isServer) { orgDisplayName, orgDesc, orgShortName, + orgAutoAddUsersWithDomainName, orgWebsite, orgIsActive, }); @@ -196,6 +210,16 @@ if (Meteor.isServer) { } }, + setAutoAddUsersWithDomainName(org, orgAutoAddUsersWithDomainName) { + if (ReactiveCache.getCurrentUser()?.isAdmin) { + check(org, Object); + check(orgAutoAddUsersWithDomainName, String); + Org.update(org, { + $set: { orgAutoAddUsersWithDomainName: orgAutoAddUsersWithDomainName }, + }); + } + }, + setOrgIsActive(org, orgIsActive) { if (ReactiveCache.getCurrentUser()?.isAdmin) { check(org, Object); @@ -210,6 +234,7 @@ if (Meteor.isServer) { orgDisplayName, orgDesc, orgShortName, + orgAutoAddUsersWithDomainName, orgWebsite, orgIsActive, ) { @@ -217,6 +242,7 @@ if (Meteor.isServer) { check(orgDisplayName, String); check(orgDesc, String); check(orgShortName, String); + check(orgAutoAddUsersWithDomainName, String); check(orgWebsite, String); check(orgIsActive, Boolean); Org.update(org, { @@ -224,6 +250,7 @@ if (Meteor.isServer) { orgDisplayName: orgDisplayName, orgDesc: orgDesc, orgShortName: orgShortName, + orgAutoAddUsersWithDomainName: orgAutoAddUsersWithDomainName, orgWebsite: orgWebsite, orgIsActive: orgIsActive, }, @@ -235,6 +262,7 @@ if (Meteor.isServer) { orgDisplayName, orgDesc, orgShortName, + orgAutoAddUsersWithDomainName, orgWebsite, orgIsActive, ) { @@ -243,6 +271,7 @@ if (Meteor.isServer) { check(orgDisplayName, String); check(orgDesc, String); check(orgShortName, String); + check(orgAutoAddUsersWithDomainName, String); check(orgWebsite, String); check(orgIsActive, Boolean); Org.update(org, { @@ -250,6 +279,7 @@ if (Meteor.isServer) { orgDisplayName: orgDisplayName, orgDesc: orgDesc, orgShortName: orgShortName, + orgAutoAddUsersWithDomainName: orgAutoAddUsersWithDomainName, orgWebsite: orgWebsite, orgIsActive: orgIsActive, },