From 1cf7efbeec62bdd3695110a81898548ca6c8ccfa Mon Sep 17 00:00:00 2001 From: Lalit Deore Date: Tue, 9 Jun 2026 16:42:07 +0530 Subject: [PATCH] org status updating changes with new tags --- shared.go | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++-- structs.go | 9 +++ 2 files changed, 165 insertions(+), 6 deletions(-) diff --git a/shared.go b/shared.go index 70da1e77..a34c7279 100644 --- a/shared.go +++ b/shared.go @@ -13812,8 +13812,32 @@ func HandleEditOrg(resp http.ResponseWriter, request *http.Request) { if len(tmpData.LeadInfo) > 0 && user.SupportAccess { //log.Printf("[INFO] Updating lead info for %s to %s", org.Id, tmpData.LeadInfo) - // Make a new one, as to start with all from false - newLeadinfo := LeadInfo{} + newLeadinfo := org.LeadInfo + newLeadinfo.POV = false + newLeadinfo.ShuffleEnterpriseLicenseOldCustomer = false + newLeadinfo.ScaleLicenseCloudTrial = false + newLeadinfo.ScaleLicenseCloudCustomer = false + newLeadinfo.ScaleLicenseOnpremCustomer = false + newLeadinfo.BusinessLicenseCloud = false + newLeadinfo.BusinessLicenseOnprem = false + newLeadinfo.EnterpriseLicenseCloud = false + newLeadinfo.EnterpriseLicenseOnprem = false + newLeadinfo.IntegrationPartner = false + newLeadinfo.ServicePartner = false + newLeadinfo.ChannelPartner = false + newLeadinfo.TechPartner = false + newLeadinfo.Contacted = false + newLeadinfo.Lead = false + newLeadinfo.DemoDone = false + newLeadinfo.Customer = false + newLeadinfo.OldCustomer = false + newLeadinfo.OldLead = false + newLeadinfo.OpenSource = false + newLeadinfo.Internal = false + newLeadinfo.Student = false + newLeadinfo.Creator = false + newLeadinfo.TestingShuffle = false + newLeadinfo.DistributionPartner = false for _, lead := range tmpData.LeadInfo { if lead == "testing shuffle" || lead == "testing_shuffle" { @@ -13864,11 +13888,11 @@ func HandleEditOrg(resp http.ResponseWriter, request *http.Request) { newLeadinfo.Creator = true } - if lead == "tech partner" { + if lead == "tech partner" || lead == "Technology Partner" { newLeadinfo.TechPartner = true } - if lead == "integration partner" { + if lead == "integration partner" || lead == "Integration Partner" { newLeadinfo.IntegrationPartner = true } @@ -13876,17 +13900,143 @@ func HandleEditOrg(resp http.ResponseWriter, request *http.Request) { newLeadinfo.DistributionPartner = true } - if lead == "service partner" { + if lead == "service partner" || lead == "Service Partner" { newLeadinfo.ServicePartner = true } - if lead == "channel partner" { + if lead == "channel partner" || lead == "Channel Partner" { newLeadinfo.ChannelPartner = true } + + if lead == "Contacted" { + newLeadinfo.Contacted = true + } + + if lead == "Lead" { + newLeadinfo.Lead = true + } + + if lead == "Demo Done" { + newLeadinfo.DemoDone = true + } + + if lead == "Customer" { + newLeadinfo.Customer = true + } + + if lead == "Old Customer" { + newLeadinfo.OldCustomer = true + } + + if lead == "Old Lead" { + newLeadinfo.OldLead = true + } + + if lead == "Open Source" { + newLeadinfo.OpenSource = true + } + + if lead == "Internal" { + newLeadinfo.Internal = true + } + + if lead == "Sub Org" { + newLeadinfo.SubOrg = true + } + + if lead == "Student" { + newLeadinfo.Student = true + } + + if lead == "Creator" { + newLeadinfo.Creator = true + } + + if lead == "Testing Shuffle" { + newLeadinfo.TestingShuffle = true + } + + if lead == "Distribution Partner" { + newLeadinfo.DistributionPartner = true + } + + if lead == "POC License" { + newLeadinfo.POV = true + } + + if lead == "Shuffle Enterprise License" { + newLeadinfo.ShuffleEnterpriseLicenseOldCustomer = true + } + + if lead == "Scale License Cloud Trial" { + newLeadinfo.ScaleLicenseCloudTrial = true + } + + if lead == "Scale License Cloud" { + newLeadinfo.ScaleLicenseCloudCustomer = true + } + + if lead == "Scale License Onprem" { + newLeadinfo.ScaleLicenseOnpremCustomer = true + } + + if lead == "Business License Cloud" { + newLeadinfo.BusinessLicenseCloud = true + } + + if lead == "Business License Onprem" { + newLeadinfo.BusinessLicenseOnprem = true + } + + if lead == "Enterprise License Cloud" { + newLeadinfo.EnterpriseLicenseCloud = true + } + + if lead == "Enterprise License Onprem" { + newLeadinfo.EnterpriseLicenseOnprem = true + } + } + + if newLeadinfo.ShuffleEnterpriseLicenseOldCustomer || + newLeadinfo.ScaleLicenseCloudCustomer || + newLeadinfo.ScaleLicenseOnpremCustomer || + newLeadinfo.BusinessLicenseCloud || + newLeadinfo.BusinessLicenseOnprem || + newLeadinfo.EnterpriseLicenseCloud || + newLeadinfo.EnterpriseLicenseOnprem { + newLeadinfo.Customer = true + } + + if newLeadinfo.ScaleLicenseOnpremCustomer || newLeadinfo.BusinessLicenseOnprem || newLeadinfo.EnterpriseLicenseOnprem { + newLeadinfo.OpenSource = true } org.LeadInfo = newLeadinfo + if newLeadinfo.EnterpriseLicenseCloud || + newLeadinfo.BusinessLicenseCloud || + newLeadinfo.ShuffleEnterpriseLicenseOldCustomer { + org.SyncFeatures.AppExecutions.Limit = 300000 + org.SyncFeatures.MultiEnv.Limit = 250 + org.SyncFeatures.MultiTenant.Limit = 1000 + log.Printf("[INFO] Set limits to 300000 app runs / 250 envs / 1000 tenants for org %s (enterprise/business)", org.Id) + } else if newLeadinfo.POV { + org.SyncFeatures.AppExecutions.Limit = 10000 + org.SyncFeatures.MultiEnv.Limit = 1 + org.SyncFeatures.MultiTenant.Limit = 3 + log.Printf("[INFO] Set limits to 10000 app runs / 1 env / 3 tenants for org %s (POC license)", org.Id) + } else if newLeadinfo.ScaleLicenseCloudTrial { + org.SyncFeatures.AppExecutions.Limit = 2000 + org.SyncFeatures.MultiEnv.Limit = 1 + org.SyncFeatures.MultiTenant.Limit = 3 + log.Printf("[INFO] Set limits to 2000 app runs / 1 env / 3 tenants for org %s (Scale free trial)", org.Id) + } else { + org.SyncFeatures.AppExecutions.Limit = 2000 + org.SyncFeatures.MultiEnv.Limit = 1 + org.SyncFeatures.MultiTenant.Limit = 3 + log.Printf("[INFO] Reset limits to defaults (2000 app runs / 1 env / 3 tenants) for org %s (no license)", org.Id) + } + // Check for ORG_CHANGE_WEBHOOK orgWebhook := os.Getenv("ORG_CHANGE_WEBHOOK") if orgWebhook != "" && strings.HasPrefix(orgWebhook, "http") { diff --git a/structs.go b/structs.go index 89dd535d..c8117e8c 100755 --- a/structs.go +++ b/structs.go @@ -996,6 +996,15 @@ type LeadInfo struct { ChannelPartner bool `json:"channel_partner,omitempty" datastore:"channel_partner"` Creator bool `json:"creator,omitempty" datastore:"creator"` + + ShuffleEnterpriseLicenseOldCustomer bool `json:"shuffle_enterprise_license_old_customer,omitempty" datastore:"shuffle_enterprise_license_old_customer"` + ScaleLicenseCloudTrial bool `json:"scale_license_cloud_trial,omitempty" datastore:"scale_license_cloud_trial"` + ScaleLicenseCloudCustomer bool `json:"scale_license_cloud_customer,omitempty" datastore:"scale_license_cloud_customer"` + ScaleLicenseOnpremCustomer bool `json:"scale_license_onprem_customer,omitempty" datastore:"scale_license_onprem_customer"` + BusinessLicenseCloud bool `json:"business_license_cloud,omitempty" datastore:"business_license_cloud"` + BusinessLicenseOnprem bool `json:"business_license_onprem,omitempty" datastore:"business_license_onprem"` + EnterpriseLicenseCloud bool `json:"enterprise_license_cloud,omitempty" datastore:"enterprise_license_cloud"` + EnterpriseLicenseOnprem bool `json:"enterprise_license_onprem,omitempty" datastore:"enterprise_license_onprem"` } // Partners Structs