diff --git a/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java b/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java
index 0cb597991df9ceee9164597dc317859516e2fd28..27e6caed5aba966e3bed53a84a3c5b4d5e3fdb0c 100644
--- a/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java
+++ b/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java
@@ -123,7 +123,7 @@ public class BusinessRegisterSaver {
         System.out.println(tagsLowerList);
         business.getBusinessTags().forEach(x-> System.out.println(x));
 
-        linkShop.linkUserShop(shop.getShopId(), userId, 2L);
+        linkShop.linkUserShop(shop.getShopId(), userId, 2L, session);
 
         for(String t: business.getBusinessTags()){
             Tags tag;
diff --git a/src/main/java/com/example/clientproject/services/DashboardStampLoader.java b/src/main/java/com/example/clientproject/services/DashboardStampLoader.java
index c2c264cbcd21d53a6a90a48e4e6da0d4fa609f11..9cb3e528fa8c3b2f8e807146e90dff1a7d2b2b23 100644
--- a/src/main/java/com/example/clientproject/services/DashboardStampLoader.java
+++ b/src/main/java/com/example/clientproject/services/DashboardStampLoader.java
@@ -14,13 +14,16 @@ import java.util.*;
 
 @Service
 public class DashboardStampLoader {
-    @Autowired
     UsersRepo userRepo;
-    @Autowired
     ShopsRepo shopsRepo;
-    @Autowired
     UserFavouriteToggle toggleFavourite;
 
+    public DashboardStampLoader(UsersRepo userRepo, ShopsRepo shopsRepo, UserFavouriteToggle toggleFavourite) {
+        this.userRepo = userRepo;
+        this.shopsRepo = shopsRepo;
+        this.toggleFavourite = toggleFavourite;
+    }
+
     public Map<String, Object> getData(int userId) throws Exception {
         List<Map<String, Object>> combinedInfo = new ArrayList<>();
 
diff --git a/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java b/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java
index ec93834e30a2164233f9f6c89ad9e7f95c3ff08c..0221bbef63f55121413340ace37d0cedec062322 100644
--- a/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java
+++ b/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java
@@ -9,14 +9,17 @@ import java.util.Map;
 
 @Service
 public class GetStampBoardIdFromRewardId {
-    @Autowired
     JdbcTemplate jdbc;
 
+    public GetStampBoardIdFromRewardId(JdbcTemplate jdbc) {
+        this.jdbc = jdbc;
+    }
+
     /**
      * @param rewardId the rewardId of the stampBoardId you want to retrieve
      */
     public int getStampBoardId(Integer rewardId){
-        String query = "SELECT Stamp_Board_Id FROM rewards WHERE Reward_Id = " + rewardId + ";";
+        String query = "SELECT Stamp_Board_Id FROM mydb.rewards WHERE Reward_Id = " + rewardId + ";";
         try{
             List<Map<String, Object>> rs = jdbc.queryForList(query);
 
diff --git a/src/main/java/com/example/clientproject/services/LinkUserShop.java b/src/main/java/com/example/clientproject/services/LinkUserShop.java
index 66c3eee2ec61ee42351f89b4f5955fff4c1958fe..c458d7d0d6766888ee059246417e30ec13a8ae8b 100644
--- a/src/main/java/com/example/clientproject/services/LinkUserShop.java
+++ b/src/main/java/com/example/clientproject/services/LinkUserShop.java
@@ -8,8 +8,11 @@ import com.example.clientproject.data.userPermissions.UserPermissions;
 import com.example.clientproject.data.userPermissions.UserPermissionsRepo;
 import com.example.clientproject.data.users.Users;
 import com.example.clientproject.data.users.UsersRepo;
+import com.example.clientproject.service.LoggingService;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
+
 @Service
 public class LinkUserShop {
 
@@ -17,18 +20,21 @@ public class LinkUserShop {
     ShopsRepo shopsRepo;
     AdminTypesRepo adminTypesRepo;
     UserPermissionsRepo userPermissionsRepo;
+    LoggingService loggingService;
 
     public LinkUserShop(UsersRepo aUsersRepo,
                         ShopsRepo aShopsRepo,
                         AdminTypesRepo anAdminTypesRepo,
-                        UserPermissionsRepo aUserPermissionsRepo){
+                        UserPermissionsRepo aUserPermissionsRepo,
+                        LoggingService aLoggingService){
         userRepo = aUsersRepo;
         shopsRepo = aShopsRepo;
         adminTypesRepo = anAdminTypesRepo;
         userPermissionsRepo = aUserPermissionsRepo;
+        loggingService = aLoggingService;
     }
 
-    public void linkUserShop(long shopId, long userID, long adminTypeId){
+    public void linkUserShop(long shopId, long userID, long adminTypeId, HttpSession session){
         try {
             Users user = userRepo.findById(userID).get();
             Shops shop = shopsRepo.getById(shopId);
@@ -37,6 +43,15 @@ public class LinkUserShop {
             UserPermissions link = new UserPermissions(user, shop, adminType);
 
             userPermissionsRepo.save(link);
+            // Log the change
+            loggingService.logEvent(
+                    "New User Permission",
+                    session,
+                    "New User Permission added for User: " + user.getUserId() +
+                            " with Shop: " + shop.getShopId() +
+                            " with Admin Type: " + adminType.getAdminTypeId() +
+                            " in LinkUserShop.linkUserShop()"
+            );
         }catch(Exception e){
             e.printStackTrace();
         }
diff --git a/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java b/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java
index 943c7b272c448699f58d0605e084b5258e6f82f4..aa6226c72c411294711d3dc26fa867da1ef60e04 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java
@@ -63,7 +63,7 @@ public class UpdateStaff {
             userPermRepo.delete(userPerm);
             return "USER REMOVED";
         }else{
-            linkUser.linkUserShop(usf.getShopId(),userId, 1L);
+            linkUser.linkUserShop(usf.getShopId(),userId, 1L, session);
             return "OK";
         }
     }
diff --git a/src/main/resources/database/schema.sql b/src/main/resources/database/schema.sql
index cca3a74e1f44297b34fcf796f3e8a3432946d6c9..88040647853f4df93665480bdcb088cff9b8fe4c 100644
--- a/src/main/resources/database/schema.sql
+++ b/src/main/resources/database/schema.sql
@@ -348,3 +348,4 @@ INSERT INTO Events (Event_Name) VALUES ('New Reward');
 INSERT INTO Events (Event_Name) VALUES ('New Tag');
 INSERT INTO Events (Event_Name) VALUES ('New Shop Tag Link');
 INSERT INTO Events (Event_Name) VALUES ('New Social');
+INSERT INTO Events (Event_Name) VALUES ('New User Permission');