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 @@