diff --git a/src/main/java/com/example/clientproject/service/Utils/RemoveRedundantFiles.java b/src/main/java/com/example/clientproject/service/Utils/RemoveRedundantFiles.java new file mode 100644 index 0000000000000000000000000000000000000000..7cf3daf252ae3df6ce982f13f097d306724b8327 --- /dev/null +++ b/src/main/java/com/example/clientproject/service/Utils/RemoveRedundantFiles.java @@ -0,0 +1,58 @@ +package com.example.clientproject.service.Utils; + +import com.example.clientproject.data.shops.ShopsRepo; +import com.example.clientproject.data.users.UsersRepo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +@Component +public class RemoveRedundantFiles { + @Autowired + private ShopsRepo shopRepo; + @Autowired + private UsersRepo userRepo; + + private final String dir = "./src/main/resources/static/imgs/uploaded/"; + + private Set<String> getFilesInDir(){ + return Stream.of(new File(dir).listFiles()) + .filter(file -> !file.isDirectory()) + .map(File::getName) + .collect(Collectors.toSet()); + } + + private Set<String> getFilesInDb(){ + Set<String> curFiles = new HashSet<>(); + shopRepo.findAll().forEach(x -> {curFiles.add(x.getShopImage()); + curFiles.add(x.getShopBanner());}); + + userRepo.findAll().forEach(x -> curFiles.add(x.getUserProfilePicture())); + + return curFiles; + } + + private Set<String> getDeletableFiles(){ + Set<String> deletableFiles = getFilesInDir(); + deletableFiles.removeAll(getFilesInDb()); + return deletableFiles; + } + + public void deleteFiles(){ + for(String fileName:getDeletableFiles()) { + File file = new File(dir + fileName); + if(file.delete()){ + System.out.println("Deleted file " + fileName); + }else{ + System.out.println("Failed to delete " + fileName); + } + } + } + +} diff --git a/src/main/java/com/example/clientproject/web/restControllers/FileUpload.java b/src/main/java/com/example/clientproject/web/restControllers/FileUpload.java index 234bb348bce2bef912f034aefb7f83ad997f801b..dd23bee39380400046f02411f0b9cc2e1aaaf0f3 100644 --- a/src/main/java/com/example/clientproject/web/restControllers/FileUpload.java +++ b/src/main/java/com/example/clientproject/web/restControllers/FileUpload.java @@ -1,6 +1,7 @@ package com.example.clientproject.web.restControllers; import com.example.clientproject.exceptions.ForbiddenErrorException; +import com.example.clientproject.service.Utils.RemoveRedundantFiles; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -16,10 +17,19 @@ import java.util.UUID; @RestController public class FileUpload { + + private RemoveRedundantFiles removeFiles; + + public FileUpload(RemoveRedundantFiles removeFile){ + removeFiles = removeFile; + } + String UPLOAD_FOLDER = "./src/main/resources/static/imgs/uploaded/"; @PostMapping("/upload") // //new annotation since 4.3 public String singleFileUpload(@RequestParam("file") MultipartFile file) { + removeFiles.deleteFiles(); + if (file.isEmpty()) { throw new ForbiddenErrorException("No file"); } diff --git a/src/main/resources/static/imgs/uploaded/012d7d87_1906_4f1d_949c_e8a5814588a2.png b/src/main/resources/static/imgs/uploaded/012d7d87_1906_4f1d_949c_e8a5814588a2.png deleted file mode 100644 index 39d0878a30a5ce0bc09dd3eeef9db1eb2c0dab04..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/012d7d87_1906_4f1d_949c_e8a5814588a2.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/02b3324f_113c_4c98_8ad6_7f1cf28f74c9.jpg b/src/main/resources/static/imgs/uploaded/02b3324f_113c_4c98_8ad6_7f1cf28f74c9.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/02b3324f_113c_4c98_8ad6_7f1cf28f74c9.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/0998cd76_0b99_40de_8ed0_3c8a6f0fa097.png b/src/main/resources/static/imgs/uploaded/0998cd76_0b99_40de_8ed0_3c8a6f0fa097.png new file mode 100644 index 0000000000000000000000000000000000000000..3d53f3d5d61ccfcf23d86506642a4cd7f77ed4bb Binary files /dev/null and b/src/main/resources/static/imgs/uploaded/0998cd76_0b99_40de_8ed0_3c8a6f0fa097.png differ diff --git a/src/main/resources/static/imgs/uploaded/0a18d08f_3bb2_4903_b1c7_d81246373cf1.png b/src/main/resources/static/imgs/uploaded/0a18d08f_3bb2_4903_b1c7_d81246373cf1.png deleted file mode 100644 index b4d42f0a1fdb2cee2fd7bbf27fe047e207053f5d..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/0a18d08f_3bb2_4903_b1c7_d81246373cf1.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/f0db0585_1c77_4dcb_a014_54be322c735a.jpg b/src/main/resources/static/imgs/uploaded/0cc539d8_4a87_4756_8d75_0e33c2bdf40e.jpg similarity index 100% rename from src/main/resources/static/imgs/uploaded/f0db0585_1c77_4dcb_a014_54be322c735a.jpg rename to src/main/resources/static/imgs/uploaded/0cc539d8_4a87_4756_8d75_0e33c2bdf40e.jpg diff --git a/src/main/resources/static/imgs/uploaded/12d8340a_95a8_4454_ba7c_464d89f5bed1.png b/src/main/resources/static/imgs/uploaded/12d8340a_95a8_4454_ba7c_464d89f5bed1.png deleted file mode 100644 index 39d0878a30a5ce0bc09dd3eeef9db1eb2c0dab04..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/12d8340a_95a8_4454_ba7c_464d89f5bed1.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/1318622a_7d76_410a_ad6e_035cff865b2c.png b/src/main/resources/static/imgs/uploaded/1318622a_7d76_410a_ad6e_035cff865b2c.png deleted file mode 100644 index 54a69db2a98a5518ff697aed0bdfc4bbaed3e42d..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/1318622a_7d76_410a_ad6e_035cff865b2c.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/1eab1fb2_7744_4eb6_9505_8a1e9b59981b.jpg b/src/main/resources/static/imgs/uploaded/1eab1fb2_7744_4eb6_9505_8a1e9b59981b.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/1eab1fb2_7744_4eb6_9505_8a1e9b59981b.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/3671547d_dbcf_4f1c_b3de_1c299e02acbf.jpg b/src/main/resources/static/imgs/uploaded/3671547d_dbcf_4f1c_b3de_1c299e02acbf.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/3671547d_dbcf_4f1c_b3de_1c299e02acbf.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/3f583233_0231_42ee_b223_3f05c2fe1a3e.png b/src/main/resources/static/imgs/uploaded/3f583233_0231_42ee_b223_3f05c2fe1a3e.png deleted file mode 100644 index 8870298ea3a5c3a175d4c0bea20f644c726ff2e4..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/3f583233_0231_42ee_b223_3f05c2fe1a3e.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/43f67c70_c2cc_4dce_81c3_c018e6357751.jpg b/src/main/resources/static/imgs/uploaded/43f67c70_c2cc_4dce_81c3_c018e6357751.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/43f67c70_c2cc_4dce_81c3_c018e6357751.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/45f41b47_75c1_4c81_b743_cd649a58f69c.jpg b/src/main/resources/static/imgs/uploaded/45f41b47_75c1_4c81_b743_cd649a58f69c.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/45f41b47_75c1_4c81_b743_cd649a58f69c.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/4603767e_1453_4174_9519_6c009ddd0b0b.jpg b/src/main/resources/static/imgs/uploaded/4603767e_1453_4174_9519_6c009ddd0b0b.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/4603767e_1453_4174_9519_6c009ddd0b0b.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/47545253_9d12_4237_8cb8_ec03d7f583e5.png b/src/main/resources/static/imgs/uploaded/47545253_9d12_4237_8cb8_ec03d7f583e5.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/47545253_9d12_4237_8cb8_ec03d7f583e5.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/4d017978_ae1e_4967_a254_740d30fc26df.png b/src/main/resources/static/imgs/uploaded/4d017978_ae1e_4967_a254_740d30fc26df.png deleted file mode 100644 index 39d0878a30a5ce0bc09dd3eeef9db1eb2c0dab04..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/4d017978_ae1e_4967_a254_740d30fc26df.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/51049c52_1867_4687_addd_0a0872f21ddc.png b/src/main/resources/static/imgs/uploaded/51049c52_1867_4687_addd_0a0872f21ddc.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/51049c52_1867_4687_addd_0a0872f21ddc.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/54493b56_6026_4106_ab4e_9f6d48970997.png b/src/main/resources/static/imgs/uploaded/54493b56_6026_4106_ab4e_9f6d48970997.png deleted file mode 100644 index 5b74c45726488fef8329fca1ff6ce1ee7c79c86f..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/54493b56_6026_4106_ab4e_9f6d48970997.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/695dc059_5ff8_465c_84c3_eb67457d5639.png b/src/main/resources/static/imgs/uploaded/695dc059_5ff8_465c_84c3_eb67457d5639.png deleted file mode 100644 index 39d0878a30a5ce0bc09dd3eeef9db1eb2c0dab04..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/695dc059_5ff8_465c_84c3_eb67457d5639.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/72d4e989_3d7e_4eea_b37a_7863e611425e.png b/src/main/resources/static/imgs/uploaded/72d4e989_3d7e_4eea_b37a_7863e611425e.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/72d4e989_3d7e_4eea_b37a_7863e611425e.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/7615374a_c54e_4854_ad96_14b719c5af9c.jpg b/src/main/resources/static/imgs/uploaded/7615374a_c54e_4854_ad96_14b719c5af9c.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/7615374a_c54e_4854_ad96_14b719c5af9c.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/833354f7_3313_4c1e_9d26_1da535b3c330.png b/src/main/resources/static/imgs/uploaded/833354f7_3313_4c1e_9d26_1da535b3c330.png deleted file mode 100644 index 58b5eef2ca5a65e4ad96bb99f8556508a9771fd8..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/833354f7_3313_4c1e_9d26_1da535b3c330.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/8a832984_0978_42db_8f48_46e9ad91dd93.jpg b/src/main/resources/static/imgs/uploaded/8a832984_0978_42db_8f48_46e9ad91dd93.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/8a832984_0978_42db_8f48_46e9ad91dd93.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/8ce2def2_23d9_4840_9d99_5ed7d350ef54.png b/src/main/resources/static/imgs/uploaded/8ce2def2_23d9_4840_9d99_5ed7d350ef54.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/8ce2def2_23d9_4840_9d99_5ed7d350ef54.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/8d96f724_c612_4da0_9ab0_26a0ea2ad161.jpg b/src/main/resources/static/imgs/uploaded/8d96f724_c612_4da0_9ab0_26a0ea2ad161.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/8d96f724_c612_4da0_9ab0_26a0ea2ad161.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/90783e57_5677_4b52_93cf_e7b10623e108.png b/src/main/resources/static/imgs/uploaded/90783e57_5677_4b52_93cf_e7b10623e108.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/90783e57_5677_4b52_93cf_e7b10623e108.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/926f948f_cda7_4237_9f65_27edf8f80420.png b/src/main/resources/static/imgs/uploaded/926f948f_cda7_4237_9f65_27edf8f80420.png deleted file mode 100644 index 54a69db2a98a5518ff697aed0bdfc4bbaed3e42d..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/926f948f_cda7_4237_9f65_27edf8f80420.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/9c3c65a4_20d7_4dae_829d_69931b335eab.jpg b/src/main/resources/static/imgs/uploaded/9c3c65a4_20d7_4dae_829d_69931b335eab.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/9c3c65a4_20d7_4dae_829d_69931b335eab.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/b4fe6226_54a0_41ee_87b9_a6c3a33e49e4.png b/src/main/resources/static/imgs/uploaded/b4fe6226_54a0_41ee_87b9_a6c3a33e49e4.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/b4fe6226_54a0_41ee_87b9_a6c3a33e49e4.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/bab8bd52_075f_4830_9640_399c4481cd40.png b/src/main/resources/static/imgs/uploaded/bab8bd52_075f_4830_9640_399c4481cd40.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/bab8bd52_075f_4830_9640_399c4481cd40.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/bc4287af_8ade_4aef_858d_1433e903b507.png b/src/main/resources/static/imgs/uploaded/bc4287af_8ade_4aef_858d_1433e903b507.png deleted file mode 100644 index 54a69db2a98a5518ff697aed0bdfc4bbaed3e42d..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/bc4287af_8ade_4aef_858d_1433e903b507.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/c1c72053_761f_4a77_841e_e19f986c0bfe.png b/src/main/resources/static/imgs/uploaded/c1c72053_761f_4a77_841e_e19f986c0bfe.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/c1c72053_761f_4a77_841e_e19f986c0bfe.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/db225ba8_f012_457a_9011_8544d5036ba6.png b/src/main/resources/static/imgs/uploaded/db225ba8_f012_457a_9011_8544d5036ba6.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/db225ba8_f012_457a_9011_8544d5036ba6.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/dc52767c_6f43_452a_a5a1_bc55d20245ad.png b/src/main/resources/static/imgs/uploaded/dc52767c_6f43_452a_a5a1_bc55d20245ad.png deleted file mode 100644 index 8870298ea3a5c3a175d4c0bea20f644c726ff2e4..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/dc52767c_6f43_452a_a5a1_bc55d20245ad.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/dc9c4698_3b65_41e6_b1cf_e5a8ca282f3b.png b/src/main/resources/static/imgs/uploaded/dc9c4698_3b65_41e6_b1cf_e5a8ca282f3b.png deleted file mode 100644 index 39d0878a30a5ce0bc09dd3eeef9db1eb2c0dab04..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/dc9c4698_3b65_41e6_b1cf_e5a8ca282f3b.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/dd7226e6_ec3e_4bb7_b236_59f81d9fb3d9.jpg b/src/main/resources/static/imgs/uploaded/dd7226e6_ec3e_4bb7_b236_59f81d9fb3d9.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/dd7226e6_ec3e_4bb7_b236_59f81d9fb3d9.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/edcce7cd_5066_4f74_bbac_b257dc067e79.png b/src/main/resources/static/imgs/uploaded/edcce7cd_5066_4f74_bbac_b257dc067e79.png deleted file mode 100644 index 39d0878a30a5ce0bc09dd3eeef9db1eb2c0dab04..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/edcce7cd_5066_4f74_bbac_b257dc067e79.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/f035c9e0_3b07_4f35_a946_5dd3b21ce253.jpg b/src/main/resources/static/imgs/uploaded/f035c9e0_3b07_4f35_a946_5dd3b21ce253.jpg deleted file mode 100644 index 7ff5ef91293d6692910338be0f6b54dd16674c6a..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/f035c9e0_3b07_4f35_a946_5dd3b21ce253.jpg and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/f194b73e_5abd_404d_99fa_6697a2dee227.png b/src/main/resources/static/imgs/uploaded/f194b73e_5abd_404d_99fa_6697a2dee227.png deleted file mode 100644 index 2dee3ea4b1d2ff0abffc006fcdf51d550be9e8c0..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/f194b73e_5abd_404d_99fa_6697a2dee227.png and /dev/null differ diff --git a/src/main/resources/static/imgs/uploaded/fecd5cdf_1cc8_4b71_84d0_03f4bfd2eb68.jpg b/src/main/resources/static/imgs/uploaded/fecd5cdf_1cc8_4b71_84d0_03f4bfd2eb68.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b2d8bb010d68ba390c38cf885df1dd309d905b8d Binary files /dev/null and b/src/main/resources/static/imgs/uploaded/fecd5cdf_1cc8_4b71_84d0_03f4bfd2eb68.jpg differ diff --git a/src/main/resources/static/imgs/uploaded/stamp.jpg b/src/main/resources/static/imgs/uploaded/stamp.jpg deleted file mode 100644 index 2a3f3cde59161615b154b5099fb301610515bf57..0000000000000000000000000000000000000000 Binary files a/src/main/resources/static/imgs/uploaded/stamp.jpg and /dev/null differ diff --git a/src/main/resources/static/js/admin.js b/src/main/resources/static/js/admin.js index 946ea106b00537b418717092cbeb23b6b40906e2..337f1c1062ead402bfe807d9d0529f1024b3a9c9 100644 --- a/src/main/resources/static/js/admin.js +++ b/src/main/resources/static/js/admin.js @@ -3,7 +3,7 @@ var isShopSelectOpen = { "profile":false, "shop-setup":true, "shop-rewards":true, - "super-admin":true + "super-admin":false } function toggle_tab(tab){ diff --git a/src/main/resources/templates/admin.html b/src/main/resources/templates/admin.html index e61c32908bf8120c271b0691b07db10a6b1f1aaf..79a4a8e347e6b6c242a77270d2e9401217b51216 100644 --- a/src/main/resources/templates/admin.html +++ b/src/main/resources/templates/admin.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html xmlns:th="http://www.w3.org/1999/html"> <head> <title>ShopHub | Dashboard</title> <link th:replace="fragments/libs.html :: bulma"/> @@ -53,7 +53,22 @@ <p>Super Admin</p> </div> </div> - <div class="sidebar closed" id="side_shop_select" th:if="${highestPerm > 1 || linkedShop}"> + <div class="sidebar" th:if="${highestPerm == 3 && !linkedShop}"> + <div class="admin-tab active" onclick="toggle_tab('profile');" id="profile-tab"> + <div class="baseIcon"> + <i class="fas fa-user fa-lg"></i> + </div> + <p>Profile</p> + </div> + <div th:if="${highestPerm == 3}" class="admin-tab" onclick="toggle_tab('super-admin')" id="super-admin-tab"> + <div class="baseIcon"> + <i class="fab fa-angular fa-lg"></i> + </div> + <p>Super Admin</p> + </div> + </div> + <div class="sidebar closed" id="side_shop_select"> + <th:block th:if="${linkedShop}"> <th:block th:each="category: ${adminOfByCategory.entrySet()}"> <div class="shop-tab-container"> <div class="shop-tab shop-category" onclick="this.parentElement.classList.toggle('open')"> @@ -70,8 +85,9 @@ </th:block> </div> </th:block> + </th:block> </div> - <main th:if="${highestPerm > 1 || linkedShop}"> + <main th:if="${linkedShop}"> <section id="profile-section" class="admin-section active"> <div th:replace="fragments/user_settings.html :: settings_page"/> </section> @@ -100,6 +116,15 @@ <div th:replace="fragments/user_settings.html :: settings_page"/> </section> </main> + <main th:if="${highestPerm == 3 && !linkedShop}"> + <section id="profile-section" class="admin-section active"> + <div th:replace="fragments/user_settings.html :: settings_page"/> + </section> + + <section th:if="${highestPerm == 3}" id="super-admin-section" class="admin-section"> + <div th:replace="fragments/superAdmin.html :: super-admin-page"/> + </section> + </main> </div> <script>checkTab();</script> </body>