diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/JacksonConfiguration.java b/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/JacksonConfiguration.java
index 503271f..291a83b 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/JacksonConfiguration.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/JacksonConfiguration.java
@@ -4,6 +4,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
@Configuration
public class JacksonConfiguration {
@@ -11,7 +12,9 @@ public class JacksonConfiguration {
@Bean
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
- objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
+ objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); // Do not fail on empty beans during serialization
+ objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); // Serialize dates as Strings
+ objectMapper.registerModule(new JavaTimeModule()); // Register JavaTimeModule for Java 8 Date/Time support
return objectMapper;
}
}
\ No newline at end of file
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/SecurityConfig.java b/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/SecurityConfig.java
index f649920..91fe7a7 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/SecurityConfig.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/configuration/SecurityConfig.java
@@ -31,7 +31,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
public void configure(WebSecurity web) throws Exception {
web
.ignoring()
- .antMatchers("/static/**", "/assets/**", "/api/**","/images/**","/gcc/static/**", "/gcc/assets/**", "/gcc/api/**","/gcc/images/**");
+ .antMatchers("/static/**", "/assets/**", "/api/**","/images/**","/gcc/static/**", "/gcc/assets/**", "/gcc/api/**","/gcc/images/**","/gcc/files/**");
//.antMatchers("/gcc/static/**", "/gcc/assets/**", "/gcc/api/**","/gcc/images/**");
//.antMatchers("/assets/**", "/css/**", "/js/**", "/images/**", "/fonts/**"); // Add the paths to your static resources here
}
@@ -52,7 +52,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/gcc/error").permitAll()
.antMatchers("/gcc/login").permitAll() // Add the login URL
.antMatchers("/gcc/admin/**").hasRole("ADMIN") // Add the admin URLs
- .antMatchers("/gcc/**").hasAnyRole("USER", "ADMIN") // Add other URLs
+ .antMatchers("/gcc/**").hasAnyRole("ADMIN","USER") // Add other URLs
+ //.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/gcc/login") // Customize the login page URL
@@ -62,10 +63,21 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.logout()
.logoutUrl("/gcc/logout") // Include the logout URL
.logoutSuccessUrl("/gcc/login") // Include the success logout URL
+ .permitAll()
.and()
.sessionManagement()
.sessionFixation()
.migrateSession(); // or .none(), .newSession()
+
+ /*
+ // Print role values
+ http.authorizeRequests().anyRequest().authenticated().and().formLogin().successHandler((request, response, authentication) -> {
+ System.out.println("User Roles: ");
+ authentication.getAuthorities().forEach(authority -> System.out.println(authority.getAuthority()));
+ System.out.println();
+ response.sendRedirect("/gcc");
+ });
+ */
}
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/controller/APIController.java b/src/main/java/in/gov/chennaicorporation/gccoffice/controller/APIController.java
index 7508d0c..7dc8179 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/controller/APIController.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/controller/APIController.java
@@ -1,5 +1,6 @@
package in.gov.chennaicorporation.gccoffice.controller;
+import java.util.Base64;
import java.util.List;
import java.util.Map;
import java.time.LocalDateTime;
@@ -88,6 +89,22 @@ public class APIController {
}
+ // Encode to Base64
+ @GetMapping(value="/encodeBase64")
+ public static String encodeBase64(@RequestParam String string) {
+ String value=string;
+ byte[] encodedBytes = Base64.getEncoder().encode(value.getBytes());
+ return new String(encodedBytes);
+ }
+
+ // Decode from Base64
+ @GetMapping(value="/decodeBase64")
+ public static String decodeBase64(@RequestParam String string) {
+ String encodedValue=string;
+ byte[] decodedBytes = Base64.getDecoder().decode(encodedValue);
+ return new String(decodedBytes);
+ }
+
@GetMapping(value="/getAccessTree")
public String getAccessTreeHTML(@RequestParam String groupId,@RequestParam String groupName) {
@@ -228,6 +245,43 @@ public class APIController {
return "";
}
+ @GetMapping(value="/getUserProfileBasic")
+ public String getUserProfileBasic(@RequestParam String userId) {
+ String userHtml ="";
+ String userProfileHtml ="";
+ String userProfileTimelineHtml ="";
+ getAppUserEntities = appUserRepository.showById(userId);
+ for (AppUserEntity appUserEntity : getAppUserEntities) {
+
+ userProfileHtml = ""
+ + " "
+ + "
"
+ + "
"
+ + "
"
+ + "

\n"
+ + "
"+appUserEntity.getUserid().getName()+"
\n"
+ + "
Front End Developer
\n"
+ + "
\n"
+ + "
"
+ + "
\n"
+ + "
\n"
+ + " Email address \n"
+ + " "+appUserEntity.getUserid().getEmail()+" \n"
+ + " Phone\n"
+ + " "+appUserEntity.getUserid().getPhone()+" \n"
+ + " Role\n"
+ + " "+appUserEntity.getRoles()+"\n"
+ + " Access Group\n"
+ + " "+appUserEntity.getUsergroup_id().getName()+"\n"
+ + "
\n"
+ + "
\n"
+ + " ";
+
+ }
+
+ return userProfileHtml;
+ }
+
@GetMapping(value="/getUserProfile")
public String getUserProfile(@RequestParam String userId) {
String userHtml ="";
@@ -334,4 +388,6 @@ public class APIController {
//System.out.println(formattedTimestamp);
return formattedTimestamp.toUpperCase();
}
+
+
}
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/controller/FileController.java b/src/main/java/in/gov/chennaicorporation/gccoffice/controller/FileController.java
new file mode 100644
index 0000000..795c693
--- /dev/null
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/controller/FileController.java
@@ -0,0 +1,73 @@
+package in.gov.chennaicorporation.gccoffice.controller;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.UrlResource;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.servlet.HandlerMapping;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import javax.servlet.http.HttpServletRequest;
+
+@Controller
+public class FileController {
+
+ @Value("${file.upload.directory}")
+ private String uploadDirectory;
+
+ @GetMapping("/gcc/files/{directoryPath}/**")
+ public ResponseEntity serveFile(@PathVariable String directoryPath, HttpServletRequest request) {
+ String fullPath = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
+ System.out.println(fullPath.toString()+"\n"+directoryPath.length()+"\n directoryPath:"+directoryPath);
+ //String relativePath = fullPath.substring(directoryPath.length() + 1); // Adding 1 for the trailing '/'
+ String relativePath = fullPath.replace("/gcc/files", "");
+ String filePath = uploadDirectory + "/" + relativePath;
+ Path path = Paths.get(filePath).normalize();
+ System.out.println(path.toString());
+ Resource resource;
+ try {
+ resource = new UrlResource(path.toUri());
+ if (resource.exists() || resource.isReadable()) {
+ MediaType mediaType = MediaType.APPLICATION_OCTET_STREAM;
+ // Determine content type based on file extension
+ String fileName = resource.getFilename();
+ if (fileName != null) {
+ String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1);
+ switch (fileExtension.toLowerCase()) {
+ case "jpg":
+ case "jpeg":
+ mediaType = MediaType.IMAGE_JPEG;
+ break;
+ case "png":
+ mediaType = MediaType.IMAGE_PNG;
+ break;
+ case "gif":
+ mediaType = MediaType.IMAGE_GIF;
+ break;
+ case "pdf":
+ mediaType = MediaType.APPLICATION_PDF;
+ break;
+ // Add more cases for other file types if needed
+ }
+ }
+ return ResponseEntity.ok()
+ .contentType(mediaType)
+ .header(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=\"" + resource.getFilename() + "\"")
+ //.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
+ .body(resource);
+ } else {
+ return ResponseEntity.notFound().build();
+ }
+ } catch (Exception e) {
+ return ResponseEntity.notFound().build();
+ }
+ }
+}
+
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/controller/MainController.java b/src/main/java/in/gov/chennaicorporation/gccoffice/controller/MainController.java
index b707a06..4cc55b8 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/controller/MainController.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/controller/MainController.java
@@ -20,10 +20,11 @@ public class MainController {
@GetMapping({"", "/", "/index"})
public String main(Model model) {
- String userId = LoginUserInfo.getLoginUserId();
- if (userId != null && !userId.isEmpty()) {
- System.out.println("String UserID: " + userId);
+ String LoginUserId = LoginUserInfo.getLoginUserId();
+ if (LoginUserId != null && !LoginUserId.isEmpty()) {
+ System.out.println("String UserID: " + LoginUserId);
}
+ model.addAttribute("LoginUserId",LoginUserId);
return "index";
}
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/interceptor/AppInterceptor.java b/src/main/java/in/gov/chennaicorporation/gccoffice/interceptor/AppInterceptor.java
index 173e34e..55d3928 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/interceptor/AppInterceptor.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/interceptor/AppInterceptor.java
@@ -100,7 +100,7 @@ public class AppInterceptor implements HandlerInterceptor {
private boolean hasModuleAccess(String moduleName) {
getAppModuleEntities = appModuleRepository.findByModulePath(moduleName);
- System.out.println("DataTable Size for the url ("+moduleName+"): "+getAppModuleEntities.size());
+ //System.out.println("DataTable Size for the url ("+moduleName+"): "+getAppModuleEntities.size());
String moduleid = null;
@@ -112,6 +112,7 @@ public class AppInterceptor implements HandlerInterceptor {
String userGroupId = LoginUserInfo.getUserGroupId();
System.out.println("Query input`s :\n userGroupId : "+userGroupId+"\n moduleid : "+moduleid);
getAppModuleAccessEntities = appModuleAccessRepository.findByAll(userGroupId,moduleid);
+ //System.out.println("After Check in(hasModuleAccess):"+getAppModuleAccessEntities.size());
if(getAppModuleAccessEntities.size()>0) {
return true;
}
@@ -125,7 +126,7 @@ public class AppInterceptor implements HandlerInterceptor {
if(!hasModuleAccess(moduleName)) {return false; }
getMenuItemEntities = menuItemRepository.findByUrl(url);
- System.out.println("DataTable Size for the url ("+url+"): "+getMenuItemEntities.size());
+ //System.out.println("DataTable Size for the url ("+url+"): "+getMenuItemEntities.size());
String moduleid = null;
String menuid = null;
@@ -137,7 +138,7 @@ public class AppInterceptor implements HandlerInterceptor {
}
if(moduleid != null && menuid != null) {
String userGroupId = LoginUserInfo.getUserGroupId();
- System.out.println("Query input`s :\n userGroupId : "+userGroupId+"\n moduleid : "+moduleid+"\n menuid : "+menuid);
+ //System.out.println("Query input`s :\n userGroupId : "+userGroupId+"\n moduleid : "+moduleid+"\n menuid : "+menuid);
getMenuItemAccessEntities = menuItemAccessRepository.findByAll(userGroupId,moduleid,menuid);
if(getMenuItemAccessEntities.size()>0) {
return true;
@@ -152,7 +153,7 @@ public class AppInterceptor implements HandlerInterceptor {
if(!hasModuleAccess(moduleName)) {return false; }
getSubMenuItemEntities = subMenuItemRepository.findByUrl(url);
- System.out.println("DataTable Size for the url ("+url+"): "+getSubMenuItemEntities.size());
+ //System.out.println("DataTable Size for the url ("+url+"): "+getSubMenuItemEntities.size());
String moduleid = null;
String menuid = null;
@@ -166,12 +167,12 @@ public class AppInterceptor implements HandlerInterceptor {
}
if(moduleid != null && menuid != null && submenuid != null) {
String userGroupId = LoginUserInfo.getUserGroupId();
- System.out.println("Query input`s :\n userGroupId : "+userGroupId+"\n moduleid : "+moduleid+"\n menuid : "+menuid+"\n submenuid : "+submenuid);
+ //System.out.println("Query input`s :\n userGroupId : "+userGroupId+"\n moduleid : "+moduleid+"\n menuid : "+menuid+"\n submenuid : "+submenuid);
getSubMenuItemAccessEntities = subMenuItemAccessRepository.findByAll(userGroupId,moduleid,menuid,submenuid);
if(getSubMenuItemAccessEntities.size()>0) {
// Check Parent Menu Access (Menu Access)
if(moduleid != null && menuid != null) {
- System.out.println("Query input`s :\n userGroupId : "+userGroupId+"\n moduleid : "+moduleid+"\n menuid : "+menuid);
+ //System.out.println("Query input`s :\n userGroupId : "+userGroupId+"\n moduleid : "+moduleid+"\n menuid : "+menuid);
getMenuItemAccessEntities = menuItemAccessRepository.findByAll(userGroupId,moduleid,menuid);
if(getMenuItemAccessEntities.size()>0) {
return true;
@@ -186,9 +187,11 @@ public class AppInterceptor implements HandlerInterceptor {
private boolean hasAccess(String path) {
String userRole = LoginUserInfo.getUserRole();
+
if (userRole != null && userRole.equals("ADMIN")) {
return true;
}
+
/*
if(LoginUserInfo.getUserRole().equals("ADMIN")) {
return true;
@@ -196,7 +199,9 @@ public class AppInterceptor implements HandlerInterceptor {
*/
String url = removeLeadingSlash(path);
- System.out.println("Give URL : "+path+" After remove leading slash : "+url);
+ url = removeStartingString(url); // Remove parent App url "gcc"
+
+ //System.out.println("Give URL : "+path+" After remove leading slash : "+url);
// If default home page
if(path.equals("/")) {
@@ -208,7 +213,7 @@ public class AppInterceptor implements HandlerInterceptor {
if(parts.length<=0) {return true;}
- System.out.println(parts.length);
+ //System.out.println("Part Length:"+ parts.length);
if(parts.length>1) {
int j=0;
@@ -219,8 +224,9 @@ public class AppInterceptor implements HandlerInterceptor {
String moduleName = "";
String menuName = "";
String subMenuName = "";
- if(parts.length==2) { // Check Only Module Access
- moduleName = parts[1];
+
+ if(parts.length==1) { // Check Only Module Access
+ moduleName = parts[0];
return hasModuleAccess(moduleName);
}
else if(parts.length==2) { // Check Module & Menu Access
@@ -237,7 +243,7 @@ public class AppInterceptor implements HandlerInterceptor {
}
}
- return false;
+ return true;
}
public static String removeLeadingSlash(String input) {
@@ -247,6 +253,13 @@ public class AppInterceptor implements HandlerInterceptor {
return input;
}
+ public static String removeStartingString(String input) {
+ if (input.startsWith("gcc")) {
+ return removeLeadingSlash(input.substring(3));
+ }
+ return input;
+ }
+
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String assetsBaseUrl = environment.getProperty("assets.base-url");
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/petregistration/controller/APIController.java b/src/main/java/in/gov/chennaicorporation/gccoffice/petregistration/controller/APIController.java
index f1ad25d..205f4c6 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/petregistration/controller/APIController.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/petregistration/controller/APIController.java
@@ -18,7 +18,7 @@ import org.springframework.web.util.UriComponentsBuilder;
import in.gov.chennaicorporation.gccoffice.configuration.AppConfig;
-@RequestMapping("/api/petregistration")
+@RequestMapping("/gcc/api/petregistration")
@RestController("petRegistrationRest")
public class APIController {
private final RestTemplate restTemplate;
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/petregistration/controller/MainController.java b/src/main/java/in/gov/chennaicorporation/gccoffice/petregistration/controller/MainController.java
index 6283774..977df87 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/petregistration/controller/MainController.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/petregistration/controller/MainController.java
@@ -20,7 +20,7 @@ import in.gov.chennaicorporation.gccoffice.petregistration.data.PetCountInfo;
import in.gov.chennaicorporation.gccoffice.petregistration.data.RequestList;
import in.gov.chennaicorporation.gccoffice.service.LoginUserInfo;
-@RequestMapping("/petregistration")
+@RequestMapping("/gcc/petregistration")
@Controller("petregistration")
public class MainController {
private final RestTemplate restTemplate;
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/pgr/controller/MainController.java b/src/main/java/in/gov/chennaicorporation/gccoffice/pgr/controller/MainController.java
index c01e4dd..e4417b0 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/pgr/controller/MainController.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/pgr/controller/MainController.java
@@ -9,6 +9,7 @@ import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.client.RestTemplate;
import in.gov.chennaicorporation.gccoffice.pgr.service.PGRCommon;
import in.gov.chennaicorporation.gccoffice.service.LoginUserInfo;
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/pgr/service/PGRCommon.java b/src/main/java/in/gov/chennaicorporation/gccoffice/pgr/service/PGRCommon.java
index eee4e45..551168a 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/pgr/service/PGRCommon.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/pgr/service/PGRCommon.java
@@ -170,6 +170,7 @@ public class PGRCommon {
+ " cs.statusname AS status, "
+ " usr.user_name, "
+ " cd.complaintnumber, "
+ + " cd.ID_MODE AS \"MODE\", "
+ " COALESCE(ct.complainttypename, 'Unspecified') AS complainttypename, "
+ " cg.complaintgroupname "
+ "FROM eggr_complaintdetails@erp cd "
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/repository/AppUserRepository.java b/src/main/java/in/gov/chennaicorporation/gccoffice/repository/AppUserRepository.java
index 06ce20c..9a54490 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/repository/AppUserRepository.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/repository/AppUserRepository.java
@@ -20,7 +20,7 @@ public interface AppUserRepository extends JpaRepository
@Query(value = "SELECT * FROM `appusers`", nativeQuery = true)
List showAll();
- @Query(value = "SELECT * FROM `appusers` WHERE (id=:userId AND `isdelete`=0)", nativeQuery = true)
+ @Query(value = "SELECT * FROM `appusers` WHERE (userid=:userId AND `isdelete`=0)", nativeQuery = true)
List showById(String userId);
AppUserEntity findByUsername(String username);
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/service/Base64Util.java b/src/main/java/in/gov/chennaicorporation/gccoffice/service/Base64Util.java
new file mode 100644
index 0000000..e5030a7
--- /dev/null
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/service/Base64Util.java
@@ -0,0 +1,38 @@
+package in.gov.chennaicorporation.gccoffice.service;
+
+import java.util.Base64;
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+public class Base64Util {
+
+ // Encode to Base64
+ public static String encodeBase64(String value) {
+ if (value != null && !value.isEmpty()) {
+ byte[] encodedBytes = Base64.getEncoder().encode(value.getBytes());
+ return new String(encodedBytes);
+ }
+ else {
+ return "";
+ }
+ }
+
+ // Decode from Base64
+ public static String decodeBase64(String encodedValue) {
+ if (encodedValue != null && !encodedValue.isEmpty()) {
+ try {
+ byte[] decodedBytes = Base64.getDecoder().decode(encodedValue);
+ return new String(decodedBytes);
+ } catch (IllegalArgumentException e) {
+ // Handle the exception, e.g., log it or return an error message
+ System.err.println("Error decoding Base64 string: " + e.getMessage());
+ return "error"; // Or return an error message string
+ }
+ } else {
+ return "";
+ }
+ }
+}
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/service/CustomUserDetailsService.java b/src/main/java/in/gov/chennaicorporation/gccoffice/service/CustomUserDetailsService.java
index b5a3819..da468ee 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/service/CustomUserDetailsService.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/service/CustomUserDetailsService.java
@@ -30,7 +30,7 @@ public class CustomUserDetailsService implements UserDetailsService {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
AppUserEntity appUserEntity = appUserRepository.findByUsername(username);
-
+
userActivityService.logUserActivity("0", "Trying to Login with Username: " + username);
//System.out.println(username);
if (appUserEntity == null) {
@@ -53,6 +53,7 @@ public class CustomUserDetailsService implements UserDetailsService {
userRole = "ROLE_" + userRole;
//System.out.println("User Role: "+userRole);
}
+
// Create a SimpleGrantedAuthority for the user role
SimpleGrantedAuthority authority = new SimpleGrantedAuthority(userRole);
diff --git a/src/main/java/in/gov/chennaicorporation/gccoffice/service/LoginUserInfo.java b/src/main/java/in/gov/chennaicorporation/gccoffice/service/LoginUserInfo.java
index 87c4bbc..77dcf5d 100644
--- a/src/main/java/in/gov/chennaicorporation/gccoffice/service/LoginUserInfo.java
+++ b/src/main/java/in/gov/chennaicorporation/gccoffice/service/LoginUserInfo.java
@@ -23,7 +23,9 @@ public class LoginUserInfo {
public static String getLoginUserId() {
UserDetails userDetails = LoginUserInfo.getCurrentUserDetails();
+
if (userDetails instanceof CustomUserDetails) {
+ //System.out.println("User Details : "+userDetails.toString());
CustomUserDetails customUserDetails = (CustomUserDetails) userDetails;
Map additionalAttributes = customUserDetails.getAdditionalAttributes();
if (additionalAttributes != null) {
diff --git a/src/main/resources/.DS_Store b/src/main/resources/.DS_Store
index e2e5a62..d6f2016 100644
Binary files a/src/main/resources/.DS_Store and b/src/main/resources/.DS_Store differ
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index eb978c2..899e0f3 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -40,14 +40,28 @@ server.servlet.session.tracking-modes=COOKIE
#logging.level.root=DEBUG
-file.upload.directory=${user.dir}/gccoffice_uploads
+file.upload.directory=${user.dir}/gccoffice_uploads/
server.address=0.0.0.0
server.servlet.session.timeout=-1
server.servlet.session.cookie.name= GCCONEPORTALSESSION
-server.servlet.session.cookie.max-age= -1
+server.servlet.session.cookie.max-age=-1
+server.servlet.session.cookie.http-only=true
+server.servlet.session.cookie.secure=true
#server.servlet.session.timeout:5m
#server.servlet.session.cookie.name: MYSESSIONID
#server.servlet.session.cookie.max-age: 10m
+
+#///////// For Mayor Petition //////////
+mp_ackno_prefix=MP
+mp_ackno = 10000000
+mp_foldername = m_petition
+mp_action_Foldername = m_action_file
+
+#///////// For Councillor Petition //////////
+cp_ackno_prefix=CP
+cp_ackno = 10000000
+cp_foldername = c_petition
+cp_action_Foldername = c_action_file
diff --git a/src/main/resources/static/.DS_Store b/src/main/resources/static/.DS_Store
index 7976c95..90abfd6 100644
Binary files a/src/main/resources/static/.DS_Store and b/src/main/resources/static/.DS_Store differ
diff --git a/src/main/resources/static/assets/.DS_Store b/src/main/resources/static/assets/.DS_Store
index f7c17a6..6389ea2 100644
Binary files a/src/main/resources/static/assets/.DS_Store and b/src/main/resources/static/assets/.DS_Store differ
diff --git a/src/main/resources/static/assets/dist/.DS_Store b/src/main/resources/static/assets/dist/.DS_Store
index 1c0eefa..c341b46 100644
Binary files a/src/main/resources/static/assets/dist/.DS_Store and b/src/main/resources/static/assets/dist/.DS_Store differ
diff --git a/src/main/resources/static/assets/dist/css/theme.css b/src/main/resources/static/assets/dist/css/theme.css
index d280c66..eb78d84 100755
--- a/src/main/resources/static/assets/dist/css/theme.css
+++ b/src/main/resources/static/assets/dist/css/theme.css
@@ -5068,9 +5068,9 @@ body {
.wrapper .header-top .top-menu .nav-link i {
font-size: 16px; }
.wrapper .header-top .top-menu .nav-link .badge {
- right: -1px;
+ right: 0px;
position: absolute;
- top: -4px;
+ top: 0px;
padding: 3px;
width: 17px;
font-size: 11px;
diff --git a/src/main/resources/static/assets/images/.DS_Store b/src/main/resources/static/assets/images/.DS_Store
index dbb2969..bb9d5b9 100644
Binary files a/src/main/resources/static/assets/images/.DS_Store and b/src/main/resources/static/assets/images/.DS_Store differ
diff --git a/src/main/resources/templates/.DS_Store b/src/main/resources/templates/.DS_Store
index 95be7a2..13150a9 100644
Binary files a/src/main/resources/templates/.DS_Store and b/src/main/resources/templates/.DS_Store differ
diff --git a/src/main/resources/templates/fragments/modules/base/footer.html b/src/main/resources/templates/fragments/modules/base/footer.html
index 34d75bd..84b3a62 100644
--- a/src/main/resources/templates/fragments/modules/base/footer.html
+++ b/src/main/resources/templates/fragments/modules/base/footer.html
@@ -1,5 +1,5 @@