From e4eeb54615daf16f4c7f34b13bfc3414e507a707 Mon Sep 17 00:00:00 2001
From: Shishir Suman <shishir.suman@tarento.com>
Date: Tue, 23 Jan 2024 01:05:18 +0530
Subject: [PATCH] bug fixes

---
 .../grievance/service/impl/IntegrationServiceImpl.java     | 7 ++++++-
 .../grievance/service/impl/SchedulerConfigServiceImpl.java | 4 ++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/upsmf/grievance/service/impl/IntegrationServiceImpl.java b/src/main/java/org/upsmf/grievance/service/impl/IntegrationServiceImpl.java
index e0def83..3a25ae0 100644
--- a/src/main/java/org/upsmf/grievance/service/impl/IntegrationServiceImpl.java
+++ b/src/main/java/org/upsmf/grievance/service/impl/IntegrationServiceImpl.java
@@ -861,6 +861,11 @@ public class IntegrationServiceImpl implements IntegrationService {
                         userDetails.setStatus(1);
                         emailService.sendUserActivationMail(userDetails, true);
                         User data = userRepository.save(userDetails);
+                        // update mail config if user role secretary
+                        boolean superadmin = Arrays.stream(data.getRoles()).anyMatch(role -> role.equalsIgnoreCase("SUPERADMIN"));
+                        if(superadmin) {
+                            updateMailConfigEmail(data.getEmail());
+                        }
                         return ResponseEntity.ok(data);
                     }
                     return ResponseEntity.internalServerError().body("Error in activating user.");
@@ -890,7 +895,7 @@ public class IntegrationServiceImpl implements IntegrationService {
                 // get existing user for role
                 long count = users.stream().filter(user ->
                         Arrays.stream(user.getRoles()).anyMatch(userRole -> userRole.equalsIgnoreCase(role))
-                                && user.getStatus() == 1).count();
+                                && user.getStatus() == 1 && user.getId() != userDetails.getId()).count();
                 log.debug("Active user count - {}", count);
                 matchCount.set(count);
             }
diff --git a/src/main/java/org/upsmf/grievance/service/impl/SchedulerConfigServiceImpl.java b/src/main/java/org/upsmf/grievance/service/impl/SchedulerConfigServiceImpl.java
index df1f093..d18020d 100644
--- a/src/main/java/org/upsmf/grievance/service/impl/SchedulerConfigServiceImpl.java
+++ b/src/main/java/org/upsmf/grievance/service/impl/SchedulerConfigServiceImpl.java
@@ -75,6 +75,10 @@ public class SchedulerConfigServiceImpl implements SchedulerConfigService {
         Optional<MailConfig> configById = mailConfigRepository.findById(mailConfigDto.getId());
         if(configById.isPresent()) {
             MailConfig existingConfig = configById.get();
+            if(mailConfigDto.getAuthorityEmails() != null && !mailConfigDto.getAuthorityEmails().isEmpty()) {
+                String emails = String.join(",", mailConfigDto.getAuthorityEmails());
+                existingConfig.setAuthorityEmails(emails);
+            }
             existingConfig.setConfigValue(mailConfigDto.getConfigValue());
             existingConfig.setUpdatedBy(mailConfigDto.getUpdatedBy());
             existingConfig.setUpdatedDate(Timestamp.valueOf(LocalDateTime.now()));
-- 
GitLab