From c6019865e618e4f3f53a239e280da7e7466892b2 Mon Sep 17 00:00:00 2001 From: Fedir Kryvyi Date: Tue, 12 Mar 2024 15:49:10 +0100 Subject: [PATCH] Removing isEnabled__c as a feature --- docs/CONFIGURATION.md | 1 - .../default/classes/AchievementSelector.cls | 2 +- .../classes/AchievementSelectorTest.cls | 2 +- .../main/default/classes/GameForceConfig.cls | 54 +++++++------------ .../main/default/classes/TestDataFactory.cls | 1 - ...ment__c-Achievement Layout.layout-meta.xml | 4 -- .../fields/Enabled__c.field-meta.xml | 11 ---- .../All_Achievements.listView-meta.xml | 1 - ...eModifyAchievements.permissionset-meta.xml | 5 -- ...rceViewAchievements.permissionset-meta.xml | 5 -- 10 files changed, 20 insertions(+), 66 deletions(-) delete mode 100644 force-app/main/default/objects/Achievement__c/fields/Enabled__c.field-meta.xml diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md index a085f7c..f375352 100644 --- a/docs/CONFIGURATION.md +++ b/docs/CONFIGURATION.md @@ -53,7 +53,6 @@ Here is how the new custom achievement can be configured: * UIDescription__c - Achievement description that is going to be shown to user once he unlocks the achievement * Goal__c - Goal that need to be reached by user for achievement to be treated as unlocked/reached. For example, our standard "Create 10 Leads" achievement has a Goal__c set to 10 and is related to relevant measurement called "CreatedLeadsCounter". Once user has 10 Created Leads - achievement is going to be treated as unlocked. * Score__c - Number of points that user gets for unlocking an achievement. Used for leaderboards. - * Enabled__c - Allows Admin users to enable/disable achievements without removing data from the system. 3. Once both Measurement and Achievement are defined, you can now define the logic for your new measurement to be increased per each user. This can be done in a trigger or by no-code tools built into Salesforce. In the end, each time the metric is expected to be increased for a specific user `UserMeasurementIncrement__e` platform event has to be fired by your custom logic. `UserMeasurementIncrement__e` fields: * Increment__c - number of points to increment/decrement from a user measurement diff --git a/force-app/main/default/classes/AchievementSelector.cls b/force-app/main/default/classes/AchievementSelector.cls index 7592921..8f023a1 100644 --- a/force-app/main/default/classes/AchievementSelector.cls +++ b/force-app/main/default/classes/AchievementSelector.cls @@ -9,6 +9,6 @@ public with sharing class AchievementSelector extends BaseSelector { } public override Set fieldApiNames() { - return new Set {'Id', 'Name', 'Description__c', 'Enabled__c', 'Goal__c', 'Score__c', 'UITitle__c', 'UIDescription__c', 'Measurement__c'}; + return new Set {'Id', 'Name', 'Description__c', 'Goal__c', 'Score__c', 'UITitle__c', 'UIDescription__c', 'Measurement__c'}; } } \ No newline at end of file diff --git a/force-app/main/default/classes/AchievementSelectorTest.cls b/force-app/main/default/classes/AchievementSelectorTest.cls index 3177770..6b8ce99 100644 --- a/force-app/main/default/classes/AchievementSelectorTest.cls +++ b/force-app/main/default/classes/AchievementSelectorTest.cls @@ -26,7 +26,7 @@ private class AchievementSelectorTest { Test.stopTest(); // Then - Set expectedSet = new Set {'Id', 'Name', 'Description__c', 'Enabled__c', 'Goal__c', 'Score__c', 'UITitle__c', 'UIDescription__c', 'Measurement__c'}; + Set expectedSet = new Set {'Id', 'Name', 'Description__c', 'Goal__c', 'Score__c', 'UITitle__c', 'UIDescription__c', 'Measurement__c'}; system.assertEquals(expectedSet, result, 'A specific field set is expected'); } } \ No newline at end of file diff --git a/force-app/main/default/classes/GameForceConfig.cls b/force-app/main/default/classes/GameForceConfig.cls index bf87ac0..f17d9d5 100644 --- a/force-app/main/default/classes/GameForceConfig.cls +++ b/force-app/main/default/classes/GameForceConfig.cls @@ -38,8 +38,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Created 10 Leads', Description__c = 'Standard Achievement, that can be reached by creating 10 different Leads', Goal__c = 10, - Score__c = 10, - Enabled__c = true); + Score__c = 10); achievementsToInsert.add(created10Leads); Achievement__c created50Leads = new Achievement__c( @@ -49,8 +48,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Created 50 Leads', Description__c = 'Standard Achievement, that can be reached by creating 50 different Leads', Goal__c = 50, - Score__c = 20, - Enabled__c = true); + Score__c = 20); achievementsToInsert.add(created50Leads); Achievement__c created100Leads = new Achievement__c( @@ -60,8 +58,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Created 100 Leads', Description__c = 'Standard Achievement, that can be reached by creating 100 different Leads', Goal__c = 100, - Score__c = 50, - Enabled__c = true); + Score__c = 50); achievementsToInsert.add(created100Leads); Achievement__c created200Leads = new Achievement__c( @@ -71,8 +68,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Created 200 Leads', Description__c = 'Standard Achievement, that can be reached by creating 200 different Leads', Goal__c = 200, - Score__c = 100, - Enabled__c = true); + Score__c = 100); achievementsToInsert.add(created200Leads); // Converted Leads achievements @@ -83,8 +79,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Converted 10 Leads', Description__c = 'Standard Achievement, that can be reached by converting 10 different Leads to Accounts/Contacts/Opportunities', Goal__c = 10, - Score__c = 10, - Enabled__c = true); + Score__c = 10); achievementsToInsert.add(converted10Leads); Achievement__c converted50Leads = new Achievement__c( @@ -94,8 +89,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Converted 50 Leads', Description__c = 'Standard Achievement, that can be reached by converting 50 different Leads to Accounts/Contacts/Opportunities', Goal__c = 50, - Score__c = 20, - Enabled__c = true); + Score__c = 20); achievementsToInsert.add(converted50Leads); Achievement__c converted100Leads = new Achievement__c( @@ -105,8 +99,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Converted 100 Leads', Description__c = 'Standard Achievement, that can be reached by converting 100 different Leads to Accounts/Contacts/Opportunities', Goal__c = 100, - Score__c = 100, - Enabled__c = true); + Score__c = 100); achievementsToInsert.add(converted100Leads); // Completed Tasks achievements @@ -117,8 +110,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Complete 10 Tasks', Description__c = 'Standard Achievement, that can be reached by completing 10 different tasks', Goal__c = 10, - Score__c = 10, - Enabled__c = true); + Score__c = 10); achievementsToInsert.add(complete10Tasks); Achievement__c complete50Tasks = new Achievement__c( @@ -128,8 +120,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Complete 50 Tasks', Description__c = 'Standard Achievement, that can be reached by completing 50 different tasks', Goal__c = 50, - Score__c = 20, - Enabled__c = true); + Score__c = 20); achievementsToInsert.add(complete50Tasks); Achievement__c complete100Tasks = new Achievement__c( @@ -139,8 +130,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Complete 100 Tasks', Description__c = 'Standard Achievement, that can be reached by completing 100 different tasks', Goal__c = 100, - Score__c = 20, - Enabled__c = true); + Score__c = 20); achievementsToInsert.add(complete100Tasks); Achievement__c complete200Tasks = new Achievement__c( @@ -150,8 +140,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Complete 200 Tasks', Description__c = 'Standard Achievement, that can be reached by completing 200 different tasks', Goal__c = 200, - Score__c = 100, - Enabled__c = true); + Score__c = 100); achievementsToInsert.add(complete200Tasks); // Posted chatted posts achievements @@ -162,8 +151,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Create 10 Chatter posts', Description__c = 'Standard Achievement, that can be reached by creating 10 posts in Chatter', Goal__c = 10, - Score__c = 10, - Enabled__c = true); + Score__c = 10); achievementsToInsert.add(chatter10Posts); Achievement__c chatter50Posts = new Achievement__c( @@ -173,8 +161,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Create 50 Chatter posts', Description__c = 'Standard Achievement, that can be reached by creating 50 posts in Chatter', Goal__c = 50, - Score__c = 10, - Enabled__c = true); + Score__c = 10); achievementsToInsert.add(chatter50Posts); Achievement__c chatter100Posts = new Achievement__c( @@ -184,8 +171,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Create 100 Chatter posts', Description__c = 'Standard Achievement, that can be reached by creating 100 posts in Chatter', Goal__c = 100, - Score__c = 20, - Enabled__c = true); + Score__c = 20); achievementsToInsert.add(chatter100Posts); Achievement__c chatter200Posts = new Achievement__c( @@ -195,8 +181,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Create 200 Chatter posts', Description__c = 'Standard Achievement, that can be reached by creating 200 posts in Chatter', Goal__c = 200, - Score__c = 50, - Enabled__c = true); + Score__c = 50); achievementsToInsert.add(chatter200Posts); Achievement__c case10Closed = new Achievement__c( @@ -206,8 +191,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Close 10 cases', Description__c = 'Standard Achievement, that can be reached by closing 10 Cases', Goal__c = 10, - Score__c = 10, - Enabled__c = true); + Score__c = 10); achievementsToInsert.add(case10Closed); Achievement__c case50Closed = new Achievement__c( @@ -217,8 +201,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Close 50 cases', Description__c = 'Standard Achievement, that can be reached by closing 50 Cases', Goal__c = 50, - Score__c = 20, - Enabled__c = true); + Score__c = 20); achievementsToInsert.add(case50Closed); Achievement__c case100Closed = new Achievement__c( @@ -228,8 +211,7 @@ public with sharing class GameForceConfig implements InstallHandler { UIDescription__c = 'Close 100 cases', Description__c = 'Standard Achievement, that can be reached by closing 50 Cases', Goal__c = 100, - Score__c = 100, - Enabled__c = true); + Score__c = 100); achievementsToInsert.add(case100Closed); insert achievementsToInsert; diff --git a/force-app/main/default/classes/TestDataFactory.cls b/force-app/main/default/classes/TestDataFactory.cls index 4f18db7..524d769 100644 --- a/force-app/main/default/classes/TestDataFactory.cls +++ b/force-app/main/default/classes/TestDataFactory.cls @@ -19,7 +19,6 @@ public class TestDataFactory { Achievement__c achievement = new Achievement__c(); achievement.Name = 'Name ' + uniqueIdentifier; achievement.Description__c = 'Generic description ' + uniqueIdentifier; - achievement.Enabled__c = true; achievement.Goal__c = 100 + Math.round(1000 * Math.random()); achievement.Score__c = 100 + Math.round(1000 * Math.random()); achievement.UITitle__c = 'UI Title ' + uniqueIdentifier; diff --git a/force-app/main/default/layouts/Achievement__c-Achievement Layout.layout-meta.xml b/force-app/main/default/layouts/Achievement__c-Achievement Layout.layout-meta.xml index 6413235..e3d5446 100644 --- a/force-app/main/default/layouts/Achievement__c-Achievement Layout.layout-meta.xml +++ b/force-app/main/default/layouts/Achievement__c-Achievement Layout.layout-meta.xml @@ -23,10 +23,6 @@ Edit Score__c - - Edit - Enabled__c - diff --git a/force-app/main/default/objects/Achievement__c/fields/Enabled__c.field-meta.xml b/force-app/main/default/objects/Achievement__c/fields/Enabled__c.field-meta.xml deleted file mode 100644 index ed5cb83..0000000 --- a/force-app/main/default/objects/Achievement__c/fields/Enabled__c.field-meta.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - Enabled__c - true - Disables the achievement and all related logic. Removes achievement from Leaderboards. - false - Default value: Checked - - false - Checkbox - diff --git a/force-app/main/default/objects/Achievement__c/listViews/All_Achievements.listView-meta.xml b/force-app/main/default/objects/Achievement__c/listViews/All_Achievements.listView-meta.xml index 8acac67..703f4cf 100644 --- a/force-app/main/default/objects/Achievement__c/listViews/All_Achievements.listView-meta.xml +++ b/force-app/main/default/objects/Achievement__c/listViews/All_Achievements.listView-meta.xml @@ -4,7 +4,6 @@ NAME UITitle__c UIDescription__c - Enabled__c Measurement__c Goal__c Score__c diff --git a/force-app/main/default/permissionsets/GameForceModifyAchievements.permissionset-meta.xml b/force-app/main/default/permissionsets/GameForceModifyAchievements.permissionset-meta.xml index 4975bce..a12161c 100644 --- a/force-app/main/default/permissionsets/GameForceModifyAchievements.permissionset-meta.xml +++ b/force-app/main/default/permissionsets/GameForceModifyAchievements.permissionset-meta.xml @@ -6,11 +6,6 @@ Achievement__c.Description__c true - - true - Achievement__c.Enabled__c - true - true Achievement__c.Score__c diff --git a/force-app/main/default/permissionsets/GameForceViewAchievements.permissionset-meta.xml b/force-app/main/default/permissionsets/GameForceViewAchievements.permissionset-meta.xml index 129a013..46c5e0d 100644 --- a/force-app/main/default/permissionsets/GameForceViewAchievements.permissionset-meta.xml +++ b/force-app/main/default/permissionsets/GameForceViewAchievements.permissionset-meta.xml @@ -6,11 +6,6 @@ Achievement__c.Description__c true - - true - Achievement__c.Enabled__c - true - true Achievement__c.Score__c