diff --git a/src/main/java/org/codelibs/fess/Constants.java b/src/main/java/org/codelibs/fess/Constants.java index ad8240195f5291df7aede24d2b0f7034ca809d4f..91fa848c1c7f25de25c86877dc48275ed863f9f3 100644 --- a/src/main/java/org/codelibs/fess/Constants.java +++ b/src/main/java/org/codelibs/fess/Constants.java @@ -102,8 +102,6 @@ public class Constants extends CoreLibConstants { public static final String WEB_API_POPULAR_WORD_PROPERTY = "web.api.popularword"; - public static final String WEB_DESIGN_EDITOR_PROPERTY = "design.editor"; - public static final String APP_VALUE_PROPERTY = "system.properties"; public static final String DEFAULT_LABEL_VALUE_PROPERTY = "label.value"; diff --git a/src/main/java/org/codelibs/fess/app/web/admin/AdminAction.java b/src/main/java/org/codelibs/fess/app/web/admin/AdminAction.java index 35772641ae1b83cb2f68b6000f5fcf3f4ac7cf52..f0ecc3778d172288a4eb5dfce6d129d882d538d8 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/AdminAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/AdminAction.java @@ -60,13 +60,10 @@ import org.lastaflute.web.response.HtmlResponse; public class AdminAction extends FessAdminAction { - // =================================================================================== - // Constant - // - - // =================================================================================== - // Attribute - // + @Override + protected String getActionRole() { + return "admin"; + } // =================================================================================== // Search Execute diff --git a/src/main/java/org/codelibs/fess/app/web/admin/accesstoken/AdminAccesstokenAction.java b/src/main/java/org/codelibs/fess/app/web/admin/accesstoken/AdminAccesstokenAction.java index 1d116a85dad5d9b5cd3951b6c8a9e43ee752c2b6..a2db4c1dc737f98fd4f3463d2e6833cd2bd17b53 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/accesstoken/AdminAccesstokenAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/accesstoken/AdminAccesstokenAction.java @@ -72,6 +72,11 @@ public class AdminAccesstokenAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameAccesstoken())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java b/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java index a13fff50058a09e73d6df796e078e019a30f3c13..d5d024ef335f5d2bdb314344b97d9c8026710931 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/backup/AdminBackupAction.java @@ -109,6 +109,11 @@ public class AdminBackupAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameBackup())); } + @Override + protected String getActionRole() { + return ROLE; + } + @Execute @Secured({ ROLE, ROLE + VIEW }) public HtmlResponse index() { diff --git a/src/main/java/org/codelibs/fess/app/web/admin/badword/AdminBadwordAction.java b/src/main/java/org/codelibs/fess/app/web/admin/badword/AdminBadwordAction.java index 2f6284c9c56d1f2a415e11b3ecb49b1077fd1074..70295dff7d39bf605f7f9f111ef2795ff954afc7 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/badword/AdminBadwordAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/badword/AdminBadwordAction.java @@ -75,6 +75,11 @@ public class AdminBadwordAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameBadword())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/boostdoc/AdminBoostdocAction.java b/src/main/java/org/codelibs/fess/app/web/admin/boostdoc/AdminBoostdocAction.java index e300c8366b611b160417f5e9afa992ee1d16c430..20d72c71a28f8848c8b13f2988a55aa720a246b3 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/boostdoc/AdminBoostdocAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/boostdoc/AdminBoostdocAction.java @@ -59,6 +59,11 @@ public class AdminBoostdocAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameBoostdoc())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/crawlinginfo/AdminCrawlinginfoAction.java b/src/main/java/org/codelibs/fess/app/web/admin/crawlinginfo/AdminCrawlinginfoAction.java index a1a264077557c90b5bbfd80bed46265817baf638..72bfa2400fd9ecbf7092086a8f303a2eb6562dc8 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/crawlinginfo/AdminCrawlinginfoAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/crawlinginfo/AdminCrawlinginfoAction.java @@ -61,6 +61,11 @@ public class AdminCrawlinginfoAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameCrawlinginfo())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dashboard/AdminDashboardAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dashboard/AdminDashboardAction.java index cba435c623ad81e639ca5845dbacb43c5db14304..22635025e1168892e65f6c000c0343e784421de7 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dashboard/AdminDashboardAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dashboard/AdminDashboardAction.java @@ -49,6 +49,11 @@ public class AdminDashboardAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDashboard())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Index // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java index 5afb5107239425a9822e2cfe9fdfd52ecd1ffeb8..83e7507436ee514c3f05351f8a0d474e2f8b13e2 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java @@ -77,6 +77,11 @@ public class AdminDataconfigAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDataconfig())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java b/src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java index 5bc098e070138185d1c7c44cc772a986b8f5e80f..d4f4dc7606578dac04edb9a2cfdf97f3a364e6c9 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java @@ -37,7 +37,6 @@ import org.codelibs.fess.exception.FessSystemException; import org.codelibs.fess.util.ComponentUtil; import org.dbflute.optional.OptionalEntity; import org.lastaflute.web.Execute; -import org.lastaflute.web.response.ActionResponse; import org.lastaflute.web.response.HtmlResponse; import org.lastaflute.web.response.StreamResponse; import org.lastaflute.web.ruts.process.ActionRuntime; @@ -59,29 +58,18 @@ public class AdminDesignAction extends FessAdminAction { // =================================================================================== // Hook // ====== - @Override - public ActionResponse hookBefore(final ActionRuntime runtime) { - checkEditorStatus(runtime); - return super.hookBefore(runtime); - } - - private void checkEditorStatus(final ActionRuntime runtime) { - if (!editable()) { - throwValidationError(messages -> messages.addErrorsDesignEditorDisabled(GLOBAL), () -> asListHtml()); - } - } @Override protected void setupHtmlData(final ActionRuntime runtime) { super.setupHtmlData(runtime); - runtime.registerData("editable", editable()); runtime.registerData("fileNameItems", loadFileNameItems()); runtime.registerData("jspFileNameItems", loadJspFileNameItems()); runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDesign())); } - private boolean editable() { - return fessConfig.isWebDesignEditorEnabled(); + @Override + protected String getActionRole() { + return ROLE; } private List<Pair<String, String>> loadJspFileNameItems() { diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dict/AdminDictAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dict/AdminDictAction.java index 82553354161aeae14a2162caef77262a5bda06dd..ae346ebcc49c21a9fcf9584919b211399b7f62ac 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dict/AdminDictAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dict/AdminDictAction.java @@ -49,6 +49,11 @@ public class AdminDictAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDict())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java index 4a7f9281f14c5a6b0242bfc87db39b165ead968a..0c031b62e003f778bb493ca2e49004f6d387eff1 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java @@ -69,6 +69,11 @@ public class AdminDictKuromojiAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDictKuromoji())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dict/mapping/AdminDictMappingAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dict/mapping/AdminDictMappingAction.java index 2c065af90779f3d2ae5c17bf24abc044cb266a78..e656b97950ba4cba7ef2e3b4f5f73a00995957f8 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dict/mapping/AdminDictMappingAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dict/mapping/AdminDictMappingAction.java @@ -71,6 +71,11 @@ public class AdminDictMappingAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDictMapping())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dict/protwords/AdminDictProtwordsAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dict/protwords/AdminDictProtwordsAction.java index 46056c007d95dde4013e4162a1cbe8259e0efe25..b139aa8eea0e02b709d22579ed961fe3eb73dc44 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dict/protwords/AdminDictProtwordsAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dict/protwords/AdminDictProtwordsAction.java @@ -68,6 +68,11 @@ public class AdminDictProtwordsAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDictProtwords())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dict/stemmeroverride/AdminDictStemmeroverrideAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dict/stemmeroverride/AdminDictStemmeroverrideAction.java index 64b1a39a450b6bc020e56f66093688b19c72a56b..e282a659445344f1ae05c6ae71e3196db60fa509 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dict/stemmeroverride/AdminDictStemmeroverrideAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dict/stemmeroverride/AdminDictStemmeroverrideAction.java @@ -68,6 +68,11 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDictStemmeroverride())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dict/stopwords/AdminDictStopwordsAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dict/stopwords/AdminDictStopwordsAction.java index 7ff9192a106a2040ae7bfa523614e54fea335b32..afe7c7e5ccb5f4124bd0eac962b01916905c3d42 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dict/stopwords/AdminDictStopwordsAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dict/stopwords/AdminDictStopwordsAction.java @@ -66,6 +66,11 @@ public class AdminDictStopwordsAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDictStopwords())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java b/src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java index 1e1728013f3bc15d3273a57dbdb2f5460accf4d7..b1e50bbefeb220bad796cfdd2ac98c102a1c5535 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java @@ -71,6 +71,11 @@ public class AdminDictSynonymAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDictSynonym())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/duplicatehost/AdminDuplicatehostAction.java b/src/main/java/org/codelibs/fess/app/web/admin/duplicatehost/AdminDuplicatehostAction.java index 1e14c6e8ba7b98ca085bf706befbbe26ee41c2fd..23fdc069d7ee82a34ac238a51268d3909b2f3b8b 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/duplicatehost/AdminDuplicatehostAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/duplicatehost/AdminDuplicatehostAction.java @@ -59,6 +59,11 @@ public class AdminDuplicatehostAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameDuplicatehost())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/elevateword/AdminElevatewordAction.java b/src/main/java/org/codelibs/fess/app/web/admin/elevateword/AdminElevatewordAction.java index 57c6a7cf6a497f1c5c8f8730f9da49284e518d89..a86f0de6703a5917f0aa1e9fb39f6522a0066a32 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/elevateword/AdminElevatewordAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/elevateword/AdminElevatewordAction.java @@ -85,6 +85,11 @@ public class AdminElevatewordAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameElevateword())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java b/src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java index 98e9ce4cad1f29dc7e5b3604d92d7be950d38b73..4b3fa90e6bff8843d19271d38bc0d4b9521a80b6 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/esreq/AdminEsreqAction.java @@ -54,6 +54,11 @@ public class AdminEsreqAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameEsreq())); } + @Override + protected String getActionRole() { + return ROLE; + } + @Execute @Secured({ ROLE, ROLE + VIEW }) public HtmlResponse index() { diff --git a/src/main/java/org/codelibs/fess/app/web/admin/failureurl/AdminFailureurlAction.java b/src/main/java/org/codelibs/fess/app/web/admin/failureurl/AdminFailureurlAction.java index fc264d84b1b7a8735e2450e56d3347c581737966..d70bca4be646682ed3af97d0112d8da8782b31a3 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/failureurl/AdminFailureurlAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/failureurl/AdminFailureurlAction.java @@ -54,6 +54,11 @@ public class AdminFailureurlAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameFailureurl())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/fileauth/AdminFileauthAction.java b/src/main/java/org/codelibs/fess/app/web/admin/fileauth/AdminFileauthAction.java index 6588f4d97adbb14ea6cc0c5348c694d3758a423c..9c6b1f6600afea82cc4245f0fb2688370da66c6d 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/fileauth/AdminFileauthAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/fileauth/AdminFileauthAction.java @@ -70,6 +70,11 @@ public class AdminFileauthAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameFileauth())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java b/src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java index 63ce394f256cd3a5fa8c4ce32af170a29e6e49f2..f50b4178bf283502738b9dc64750fb079c378a31 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java @@ -73,6 +73,11 @@ public class AdminFileconfigAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameFileconfig())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java b/src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java index 6c53ed43dbab4f626fe48a2ab65680952e1dfab0..dcdac47b26feef6abd94d408ec8cb309a2d7cf00 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/general/AdminGeneralAction.java @@ -69,6 +69,11 @@ public class AdminGeneralAction extends FessAdminAction { runtime.registerData("dayItems", getDayItems()); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // diff --git a/src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java b/src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java index deb0245e2834ab36f1ed5c138d0c4ce8f8f67982..d5749226fcb5f4d105e7a6d84a52cc9db08d67f1 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java @@ -64,6 +64,11 @@ public class AdminGroupAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameGroup())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/joblog/AdminJoblogAction.java b/src/main/java/org/codelibs/fess/app/web/admin/joblog/AdminJoblogAction.java index 80e51d7013ce824823075d9afd11db16e0a28d3b..b8d34c710d4a521cd301c23c35e42d4cb7021ccf 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/joblog/AdminJoblogAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/joblog/AdminJoblogAction.java @@ -57,6 +57,11 @@ public class AdminJoblogAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameJoblog())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java b/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java index a0a379c4f8ab0242271373a8eed5dd83e99f597c..165bb1aeced8f776c96c292c86b46261377f31a8 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java @@ -66,6 +66,11 @@ public class AdminKeymatchAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameKeymatch())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java b/src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java index 37e412265bdda239139a0b7a8b159b1b41c189d3..1fb4645d752490253de2b5c4437b1d4d40000f6a 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java @@ -71,6 +71,11 @@ public class AdminLabeltypeAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameLabeltype())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/log/AdminLogAction.java b/src/main/java/org/codelibs/fess/app/web/admin/log/AdminLogAction.java index 09fe2ca50dc539f5d16602072180b15d5e2a9106..6fa4922a5d52bf28801d88ecd63d06dfd4e6fb0d 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/log/AdminLogAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/log/AdminLogAction.java @@ -56,6 +56,11 @@ public class AdminLogAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameLog())); } + @Override + protected String getActionRole() { + return ROLE; + } + @Execute @Secured({ ROLE, ROLE + VIEW }) public HtmlResponse index() { diff --git a/src/main/java/org/codelibs/fess/app/web/admin/maintenance/AdminMaintenanceAction.java b/src/main/java/org/codelibs/fess/app/web/admin/maintenance/AdminMaintenanceAction.java index 3e42e1c57ced495bf4d034dcb22ec3cdb22fd76e..7f4e9fe48914bb0be46523146ceef5d7aa8b7151 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/maintenance/AdminMaintenanceAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/maintenance/AdminMaintenanceAction.java @@ -76,6 +76,11 @@ public class AdminMaintenanceAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameMaintenance())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/pathmap/AdminPathmapAction.java b/src/main/java/org/codelibs/fess/app/web/admin/pathmap/AdminPathmapAction.java index 58b66a3b890d3c36ab17ede22c523005ed7640bb..26ae8739c8f76ba04fe6d6e1b6fddf49056c0247 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/pathmap/AdminPathmapAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/pathmap/AdminPathmapAction.java @@ -60,6 +60,11 @@ public class AdminPathmapAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNamePathmap())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/plugin/AdminPluginAction.java b/src/main/java/org/codelibs/fess/app/web/admin/plugin/AdminPluginAction.java index ede4e3c5a1875f841f07925ed26fa02b9c5e6c50..6590c507859409d56cde1f5a7f92cb685fd4d46c 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/plugin/AdminPluginAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/plugin/AdminPluginAction.java @@ -54,6 +54,11 @@ public class AdminPluginAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNamePlugin())); } + @Override + protected String getActionRole() { + return ROLE; + } + @Execute @Secured({ ROLE, ROLE + VIEW }) public HtmlResponse index() { diff --git a/src/main/java/org/codelibs/fess/app/web/admin/relatedcontent/AdminRelatedcontentAction.java b/src/main/java/org/codelibs/fess/app/web/admin/relatedcontent/AdminRelatedcontentAction.java index 04b01423dc593c7536663283ff61329e275bde2c..b1d12f1b545cb6d86e88bb68cabb12005d7baa8f 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/relatedcontent/AdminRelatedcontentAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/relatedcontent/AdminRelatedcontentAction.java @@ -59,6 +59,11 @@ public class AdminRelatedcontentAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameRelatedcontent())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/relatedquery/AdminRelatedqueryAction.java b/src/main/java/org/codelibs/fess/app/web/admin/relatedquery/AdminRelatedqueryAction.java index a1cf552c754a116a3c575d6d68f507d184e1ed46..5570eda85f7b6f8bd5fb38e1976de23a9920abd3 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/relatedquery/AdminRelatedqueryAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/relatedquery/AdminRelatedqueryAction.java @@ -66,6 +66,11 @@ public class AdminRelatedqueryAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameRelatedquery())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/reqheader/AdminReqheaderAction.java b/src/main/java/org/codelibs/fess/app/web/admin/reqheader/AdminReqheaderAction.java index b23d1cce22016b5c9281a29769809bd328879e4b..80f590bfe16fae6847f861c4437f5056f39da2cc 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/reqheader/AdminReqheaderAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/reqheader/AdminReqheaderAction.java @@ -69,6 +69,11 @@ public class AdminReqheaderAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameReqheader())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java b/src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java index 39bd1fcb40926e89c84b09e37db28397b2b923a7..4ba00052decb75cbd1660828067b4f5c18f6f219 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java @@ -64,6 +64,11 @@ public class AdminRoleAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameRole())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/scheduler/AdminSchedulerAction.java b/src/main/java/org/codelibs/fess/app/web/admin/scheduler/AdminSchedulerAction.java index f60d70e9843fc2a5b90e3bd7e8655d85365a574e..ebd629bca2e4f1ce17636ccca475e493c4771bb5 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/scheduler/AdminSchedulerAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/scheduler/AdminSchedulerAction.java @@ -66,6 +66,11 @@ public class AdminSchedulerAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameScheduler())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java index d047b09b2ff2ceebda9943611a6d7dc182e6a923..afbd2c8d55f9e91fd3e6ac329e4f67d61f90f483 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java @@ -112,6 +112,11 @@ public class AdminSearchlistAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameSearchlist())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/searchlog/AdminSearchlogAction.java b/src/main/java/org/codelibs/fess/app/web/admin/searchlog/AdminSearchlogAction.java index 709eb1424a43a8e674f904b36d025b42844f1b84..ba20b41d9c713d4ffc7099208e2d08e36e905be6 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/searchlog/AdminSearchlogAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/searchlog/AdminSearchlogAction.java @@ -56,6 +56,11 @@ public class AdminSearchlogAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameSearchlog())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/storage/AdminStorageAction.java b/src/main/java/org/codelibs/fess/app/web/admin/storage/AdminStorageAction.java index f63c0b855daaf3e6927d2e2c99f56debe78f6b80..64affa9cbc2908e5e4646636e274b9282eb477c7 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/storage/AdminStorageAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/storage/AdminStorageAction.java @@ -62,6 +62,11 @@ public class AdminStorageAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameStorage())); } + @Override + protected String getActionRole() { + return ROLE; + } + @Execute @Secured({ ROLE, ROLE + VIEW }) public HtmlResponse index() { diff --git a/src/main/java/org/codelibs/fess/app/web/admin/suggest/AdminSuggestAction.java b/src/main/java/org/codelibs/fess/app/web/admin/suggest/AdminSuggestAction.java index c041e8dffae59e0fa4fef61e8a7a5e0c2742c42a..563db4cdb347515c767e744c94938e05dc8b83cb 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/suggest/AdminSuggestAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/suggest/AdminSuggestAction.java @@ -49,6 +49,11 @@ public class AdminSuggestAction extends FessAdminAction { runtime.registerData("queryWordsNum", suggestHelper.getQueryWordsNum()); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Execute // ======== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/systeminfo/AdminSysteminfoAction.java b/src/main/java/org/codelibs/fess/app/web/admin/systeminfo/AdminSysteminfoAction.java index f5f18ef50b54f612a91c7de71a0a79ac67714c76..a9780a0285a4b5dd28b3cf9aa5e2f96a713e4c25 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/systeminfo/AdminSysteminfoAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/systeminfo/AdminSysteminfoAction.java @@ -64,6 +64,11 @@ public class AdminSysteminfoAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameSysteminfo())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Index // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java b/src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java index c93e9998dac2e49798151f02984b62eb486b8a0c..73ad58ec6573967d508f1bd6c5cc21bdbcda5f4b 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/upgrade/AdminUpgradeAction.java @@ -111,6 +111,11 @@ public class AdminUpgradeAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameUpgrade())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java b/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java index 435c5620739cb1462c8a3f79f9cc6549dd414e52..7d71cde5bd3f09d35ddc853ca6e0ceba59effede 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java @@ -77,6 +77,11 @@ public class AdminUserAction extends FessAdminAction { runtime.registerData("ldapAdminEnabled", fessConfig.isLdapAdminEnabled()); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/webauth/AdminWebauthAction.java b/src/main/java/org/codelibs/fess/app/web/admin/webauth/AdminWebauthAction.java index b1c6d341a00652fee097ff1f402ad0756289ab0e..b35aaadc8fe0492a56319da522abfe7ef52feeea 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/webauth/AdminWebauthAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/webauth/AdminWebauthAction.java @@ -69,6 +69,11 @@ public class AdminWebauthAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameWebauth())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java b/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java index 683cdfe8a01fd8a7d20c064ff76946ef24a973b3..d2d2a7ca62678c1a1161bf10a90e1fda8fc5b45c 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java @@ -77,6 +77,11 @@ public class AdminWebconfigAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameWebconfig())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/admin/wizard/AdminWizardAction.java b/src/main/java/org/codelibs/fess/app/web/admin/wizard/AdminWizardAction.java index 7c3e5f5aaad38be26c84313d55a9f32627d4e3cc..93be596235980eaff6c9ceb2f959e1f4b114d1db 100644 --- a/src/main/java/org/codelibs/fess/app/web/admin/wizard/AdminWizardAction.java +++ b/src/main/java/org/codelibs/fess/app/web/admin/wizard/AdminWizardAction.java @@ -80,6 +80,11 @@ public class AdminWizardAction extends FessAdminAction { runtime.registerData("helpLink", systemHelper.getHelpLink(fessConfig.getOnlineHelpNameWizard())); } + @Override + protected String getActionRole() { + return ROLE; + } + // =================================================================================== // Search Execute // ============== diff --git a/src/main/java/org/codelibs/fess/app/web/base/FessAdminAction.java b/src/main/java/org/codelibs/fess/app/web/base/FessAdminAction.java index dad0de61639b25e03d76665085417d0934655648..9bcc68533b55c21d008272d9a3006fbd3d114fcc 100644 --- a/src/main/java/org/codelibs/fess/app/web/base/FessAdminAction.java +++ b/src/main/java/org/codelibs/fess/app/web/base/FessAdminAction.java @@ -18,6 +18,7 @@ package org.codelibs.fess.app.web.base; import javax.annotation.Resource; import javax.servlet.ServletContext; +import org.codelibs.core.lang.StringUtil; import org.codelibs.fess.exception.UserRoleLoginException; import org.codelibs.fess.helper.CrawlingConfigHelper; import org.dbflute.optional.OptionalThing; @@ -49,8 +50,16 @@ public abstract class FessAdminAction extends FessBaseAction { protected void setupHtmlData(final ActionRuntime runtime) { super.setupHtmlData(runtime); systemHelper.setupAdminHtmlData(this, runtime); + + final Boolean editable = + getUserBean().map(user -> user.hasRoles(fessConfig.getAuthenticationAdminRolesAsArray()) || user.hasRole(getActionRole())) + .orElse(false); + runtime.registerData("editable", editable); + runtime.registerData("editableClass", editable.booleanValue() ? StringUtil.EMPTY : "disabled"); } + protected abstract String getActionRole(); + protected void write(final String path, final byte[] data) { LdiFileUtil.write(path, data); } diff --git a/src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java b/src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java index 13ecc89c640bec0e2376c24b1d0d8b34f18ab494..3a8f017b6e17fcbfc7be84b4a31370ef874897a0 100644 --- a/src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java +++ b/src/main/java/org/codelibs/fess/mylasta/direction/FessProp.java @@ -203,10 +203,6 @@ public interface FessProp { setSystemProperty(key, Integer.toString(value)); } - default boolean isWebDesignEditorEnabled() { - return getSystemPropertyAsBoolean(Constants.WEB_DESIGN_EDITOR_PROPERTY, true); - } - default boolean isSearchFileProxyEnabled() { return getSystemPropertyAsBoolean(Constants.SEARCH_FILE_PROXY_PROPERTY, true); } diff --git a/src/main/java/org/codelibs/fess/taglib/FessFunctions.java b/src/main/java/org/codelibs/fess/taglib/FessFunctions.java index 74d1a16731f1a676f4ef8c4da1800afefea8109e..b663d008d55a00c4ff5ed43b17e860ebda281cfc 100644 --- a/src/main/java/org/codelibs/fess/taglib/FessFunctions.java +++ b/src/main/java/org/codelibs/fess/taglib/FessFunctions.java @@ -50,6 +50,8 @@ import org.apache.logging.log4j.Logger; import org.apache.pdfbox.util.DateConverter; import org.codelibs.core.lang.StringUtil; import org.codelibs.fess.Constants; +import org.codelibs.fess.app.web.base.FessAdminAction; +import org.codelibs.fess.app.web.base.login.FessLoginAssist; import org.codelibs.fess.entity.FacetQueryView; import org.codelibs.fess.helper.ViewHelper; import org.codelibs.fess.util.ComponentUtil; @@ -404,4 +406,17 @@ public class FessFunctions { final Locale locale = LaRequestUtil.getOptionalRequest().map(HttpServletRequest::getLocale).orElse(Locale.ROOT); return ComponentUtil.getMessageManager().findMessage(locale, key).orElse(defaultValue); } + + public static boolean hasActionRole(final String role) { + final String[] roles; + if (role.endsWith(FessAdminAction.VIEW)) { + roles = new String[] { role, role.substring(0, role.length() - FessAdminAction.VIEW.length()) }; + } else { + roles = new String[] { role }; + } + final FessLoginAssist loginAssist = ComponentUtil.getComponent(FessLoginAssist.class); + return loginAssist.getSavedUserBean() + .map(user -> user.hasRoles(roles) || user.hasRoles(ComponentUtil.getFessConfig().getAuthenticationAdminRolesAsArray())) + .orElse(false); + } } diff --git a/src/main/webapp/WEB-INF/fe.tld b/src/main/webapp/WEB-INF/fe.tld index aa4d58710b68e34894c0a6f508127aac8a2bc23e..561a578481fee4ca9010f3a93df9258f0de3b9f0 100644 --- a/src/main/webapp/WEB-INF/fe.tld +++ b/src/main/webapp/WEB-INF/fe.tld @@ -265,4 +265,12 @@ <function-signature>java.lang.String getMessage(java.lang.String, java.lang.String)</function-signature> <example>${fe:message("labels.foobar", "default value")}</example> </function> + + <function> + <description>Check if user has a permission.</description> + <name>permission</name> + <function-class>org.codelibs.fess.taglib.FessFunctions</function-class> + <function-signature>boolean hasActionRole(java.lang.String)</function-signature> + <example>${fe:permission("admin-dashboard")}</example> + </function> </taglib> diff --git a/src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig_details.jsp b/src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig_details.jsp index 7baba515b8d863f1ecea0e23eb27445745ecbfc2..b52f15c9fdfd52facd41e5cc07c1cf712ba67fa7 100644 --- a/src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig_details.jsp +++ b/src/main/webapp/WEB-INF/view/admin/webconfig/admin_webconfig_details.jsp @@ -158,11 +158,11 @@ <!-- /.box-body --> <div class="box-footer"> <jsp:include page="/WEB-INF/view/common/admin/crud/buttons.jsp"></jsp:include> - <la:link styleClass="btn btn-success" + <c:if test="${editable}"><la:link styleClass="btn btn-success" href="/admin/scheduler/createnewjob/web_crawling/${f:u(id)}/${fe:base64(name)}"> <em class="fa fa-plus-circle"></em> <la:message key="labels.web_crawling_button_create_job" /> - </la:link> + </la:link></c:if> </div> <!-- /.box-footer --> </div> diff --git a/src/main/webapp/WEB-INF/view/common/admin/crud/buttons.jsp b/src/main/webapp/WEB-INF/view/common/admin/crud/buttons.jsp index c0491ec819c48c7876fd0c5ed77e8e141c542ba6..dc03ca484b1b0e71bd85fc67382175ee3fe7a6bf 100644 --- a/src/main/webapp/WEB-INF/view/common/admin/crud/buttons.jsp +++ b/src/main/webapp/WEB-INF/view/common/admin/crud/buttons.jsp @@ -5,28 +5,33 @@ <em class="fa fa-arrow-circle-left"></em> <la:message key="labels.crud_button_back" /> </button> + <c:if test="${editable}"> <button type="submit" class="btn btn-success" name="create" value="<la:message key="labels.crud_button_create" />"> <em class="fa fa-plus"></em> <la:message key="labels.crud_button_create" /> </button> + </c:if> </c:if> <c:if test="${crudMode == 2}"> <button type="submit" class="btn btn-default" name="edit" value="back"> <em class="fa fa-arrow-circle-left"></em> <la:message key="labels.crud_button_back" /> </button> + <c:if test="${editable}"> <button type="submit" class="btn btn-warning" name="update" value="<la:message key="labels.crud_button_update" />"> <em class="fa fa-pencil-alt"></em> <la:message key="labels.crud_button_update" /> </button> + </c:if> </c:if> <c:if test="${crudMode == 4}"> <button type="submit" class="btn btn-default" name="list" value="back"> <em class="fa fa-arrow-circle-left"></em> <la:message key="labels.crud_button_back" /> </button> + <c:if test="${editable}"> <button type="submit" class="btn btn-warning" name="edit" value="<la:message key="labels.crud_button_edit" />"> <em class="fa fa-pencil-alt"></em> @@ -71,4 +76,5 @@ </div> </div> </div> -</c:if> \ No newline at end of file + </c:if> +</c:if> diff --git a/src/main/webapp/WEB-INF/view/common/admin/crud/header.jsp b/src/main/webapp/WEB-INF/view/common/admin/crud/header.jsp index 7aa7a37389272be0dbf6064a92ca156cbfeb79ae..0cf3d55bb42973b3139265c250a04322984676dc 100644 --- a/src/main/webapp/WEB-INF/view/common/admin/crud/header.jsp +++ b/src/main/webapp/WEB-INF/view/common/admin/crud/header.jsp @@ -19,7 +19,7 @@ <div class="btn-group pull-right"> <c:choose> <c:when test="${crudMode == null}"> - <la:link href="createnew" styleClass="btn btn-success btn-xs"> + <la:link href="createnew" styleClass="btn btn-success btn-xs ${f:h(editableClass)}"> <em class="fa fa-plus"></em> <la:message key="labels.crud_link_create" /> </la:link> @@ -31,4 +31,4 @@ </la:link> </c:otherwise> </c:choose> -</div> \ No newline at end of file +</div> diff --git a/src/main/webapp/WEB-INF/view/common/admin/header.jsp b/src/main/webapp/WEB-INF/view/common/admin/header.jsp index 83f69df54dd8a1d3b3a16cf0e19181c079b83787..61b501699dd2a46baa4735a3f8bcab132fc7e337 100644 --- a/src/main/webapp/WEB-INF/view/common/admin/header.jsp +++ b/src/main/webapp/WEB-INF/view/common/admin/header.jsp @@ -23,9 +23,11 @@ <a href="${installationLink}" target="_olh"><em class="fa fa-exclamation-triangle"></em></a></li> </c:if> <li><a href="${contextPath}/"><em class="fa fa-list-alt"></em></a></li> + <c:if test="${fe:permission('admin-scheduler')}"> <li><a href="${contextPath}/admin/scheduler/details/4/default_crawler"><em class="fa fa-play-circle"></em></a></li> + </c:if> <c:if test="${not empty helpLink}"> <li><a href="${helpLink}" target="_olh"><em class="fa fa-question-circle"></em></a></li> diff --git a/src/main/webapp/WEB-INF/view/common/admin/sidebar.jsp b/src/main/webapp/WEB-INF/view/common/admin/sidebar.jsp index 57350ba97dba48f9471c7ad60efcf5c19871a21a..eb0a1bbce528643ba1c14182d421cd7d5d100694 100644 --- a/src/main/webapp/WEB-INF/view/common/admin/sidebar.jsp +++ b/src/main/webapp/WEB-INF/view/common/admin/sidebar.jsp @@ -6,6 +6,7 @@ <section class="sidebar"> <!-- search form --> + <c:if test="${fe:permission('admin-searchlist-view')}"> <form action="<%=request.getContextPath()%>/admin/searchlist/search" method="GET" class="sidebar-form"> <div class="input-group"> @@ -20,18 +21,20 @@ </span> </div> </form> + </c:if> <!-- Sidebar Menu --> <ul class="sidebar-menu" data-widget="tree"> <li class="header"><la:message key="labels.sidebar.menu" /></li> - <li + <c:if test="${fe:permission('admin-dashboard-view')}"><li class="<c:if test="${param.menuCategoryType=='dashboard'}">active</c:if>"><la:link href="/admin/dashboard/"> <em class="fa fa-tachometer-alt"></em> <span><la:message key="labels.menu_dashboard_config" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-wizard-view') or fe:permission('admin-general-view') or fe:permission('admin-scheduler-view') or fe:permission('admin-design-view') or fe:permission('admin-dict-view') or fe:permission('admin-accesstoken-view') or fe:permission('admin-plugin-view') or fe:permission('admin-storage-view')}"> <li class="treeview <c:if test="${param.menuCategoryType=='system'}">active</c:if>"><a href="#"><em class='fa fa-laptop'></em> <span><la:message @@ -39,56 +42,64 @@ class="fa fa-angle-left pull-right"></em></a> <ul class="treeview-menu"> + <c:if test="${fe:permission('admin-wizard-view')}"> <li <c:if test="${param.menuType=='wizard'}">class="active"</c:if>><la:link href="/admin/wizard/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_wizard" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-general-view')}"> <li <c:if test="${param.menuType=='general'}">class="active"</c:if>><la:link href="/admin/general/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_crawl_config" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='scheduler'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-scheduler-view')}"> + <li <c:if test="${param.menuType=='scheduler'}">class="active"</c:if>><la:link href="/admin/scheduler/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_scheduler_config" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-design-view')}"> <li <c:if test="${param.menuType=='design'}">class="active"</c:if>><la:link href="/admin/design/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_design" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-dict-view')}"> <li <c:if test="${param.menuType=='dict'}">class="active"</c:if>><la:link href="/admin/dict/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_dict" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-accesstoken-view')}"> <li <c:if test="${param.menuType=='accessToken'}">class="active"</c:if>><la:link href="/admin/accesstoken/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_access_token" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-plugin-view')}"> <li <c:if test="${param.menuType=='plugin'}">class="active"</c:if>><la:link href="/admin/plugin/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_plugin" /></span> - </la:link></li> + </la:link></li></c:if> - <c:if test="${storageEnabled.booleanValue()}"><li <c:if test="${param.menuType=='storage'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-storage-view') and storageEnabled.booleanValue()}"> + <li <c:if test="${param.menuType=='storage'}">class="active"</c:if>><la:link href="/admin/storage/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_storage" /></span> </la:link></li></c:if> - </ul></li> + </ul></li></c:if> + <c:if test="${fe:permission('admin-webconfig-view') or fe:permission('admin-fileconfig-view') or fe:permission('admin-dataconfig-view') or fe:permission('admin-labeltype-view') or fe:permission('admin-keymatch-view') or fe:permission('admin-boostdoc-view') or fe:permission('admin-relatedcontent-view') or fe:permission('admin-relatedquery-view') or fe:permission('admin-pathmap-view') or fe:permission('admin-webauth-view') or fe:permission('admin-fileauth-view') or fe:permission('admin-reqheader-view') or fe:permission('admin-duplicatehost-view')}"> <li class="treeview <c:if test="${param.menuCategoryType=='crawl'}">active</c:if>"><a href="#"><em class='fa fa-cogs'></em> <span><la:message @@ -96,123 +107,128 @@ class="fa fa-angle-left pull-right"></em></a> <ul class="treeview-menu"> - <li - <c:if test="${param.menuType=='webConfig'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-webconfig-view')}"> + <li <c:if test="${param.menuType=='webConfig'}">class="active"</c:if>><la:link href="/admin/webconfig/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_web" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='fileConfig'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-fileconfig-view')}"> + <li <c:if test="${param.menuType=='fileConfig'}">class="active"</c:if>><la:link href="/admin/fileconfig/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_file_system" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='dataConfig'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-dataconfig-view')}"> + <li <c:if test="${param.menuType=='dataConfig'}">class="active"</c:if>><la:link href="/admin/dataconfig/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_data_store" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='labelType'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-labeltype-view')}"> + <li <c:if test="${param.menuType=='labelType'}">class="active"</c:if>><la:link href="/admin/labeltype/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_label_type" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='keyMatch'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-keymatch-view')}"> + <li <c:if test="${param.menuType=='keyMatch'}">class="active"</c:if>><la:link href="/admin/keymatch/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_key_match" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='boostDocumentRule'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-boostdoc-view')}"> + <li <c:if test="${param.menuType=='boostDocumentRule'}">class="active"</c:if>><la:link href="/admin/boostdoc/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_boost_document_rule" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='relatedContentRule'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-relatedcontent-view')}"> + <li <c:if test="${param.menuType=='relatedContentRule'}">class="active"</c:if>><la:link href="/admin/relatedcontent/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_related_content" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='relatedQueryRule'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-relatedquery-view')}"> + <li <c:if test="${param.menuType=='relatedQueryRule'}">class="active"</c:if>><la:link href="/admin/relatedquery/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_related_query" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='pathMapping'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-pathmap-view')}"> + <li <c:if test="${param.menuType=='pathMapping'}">class="active"</c:if>><la:link href="/admin/pathmap/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_path_mapping" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='webAuthentication'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-webauth-view')}"> + <li <c:if test="${param.menuType=='webAuthentication'}">class="active"</c:if>><la:link href="/admin/webauth/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_web_authentication" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='fileAuthentication'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-fileauth-view')}"> + <li <c:if test="${param.menuType=='fileAuthentication'}">class="active"</c:if>><la:link href="/admin/fileauth/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_file_authentication" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='requestHeader'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-reqheader-view')}"> + <li <c:if test="${param.menuType=='requestHeader'}">class="active"</c:if>><la:link href="/admin/reqheader/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_request_header" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='duplicateHost'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-duplicatehost-view')}"> + <li <c:if test="${param.menuType=='duplicateHost'}">class="active"</c:if>><la:link href="/admin/duplicatehost/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_duplicate_host" /></span> - </la:link></li> + </la:link></li></c:if> - </ul></li> + </ul></li></c:if> + <c:if test="${fe:permission('admin-user-view') or fe:permission('admin-role-view') or fe:permission('admin-group-view')}"> <li class="treeview <c:if test="${param.menuCategoryType=='user'}">active</c:if>"><a href="#"><em class='fa fa-user'></em> <span><la:message key="labels.menu_user" /></span> <em class="fa fa-angle-left pull-right"></em></a> <ul class="treeview-menu"> + <c:if test="${fe:permission('admin-user-view')}"> <li <c:if test="${param.menuType=='user'}">class="active"</c:if>><la:link href="/admin/user/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_user" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-role-view')}"> <li <c:if test="${param.menuType=='role'}">class="active"</c:if>><la:link href="/admin/role/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_role" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-group-view')}"> <li <c:if test="${param.menuType=='group'}">class="active"</c:if>><la:link href="/admin/group/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_group" /></span> - </la:link></li> + </la:link></li></c:if> - </ul></li> + </ul></li></c:if> + <c:if test="${fe:permission('admin-suggest-view') or fe:permission('admin-elevateword-view') or fe:permission('admin-badword-view')}"> <li class="treeview <c:if test="${param.menuCategoryType=='suggest'}">active</c:if>"><a href="#"><em class='fa fa-list'></em> <span><la:message @@ -220,28 +236,29 @@ class="fa fa-angle-left pull-right"></em></a> <ul class="treeview-menu"> - <li - <c:if test="${param.menuType=='suggestWord'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-suggest-view')}"> + <li <c:if test="${param.menuType=='suggestWord'}">class="active"</c:if>><la:link href="/admin/suggest/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_suggest_word" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='elevateWord'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-elevateword-view')}"> + <li <c:if test="${param.menuType=='elevateWord'}">class="active"</c:if>><la:link href="/admin/elevateword/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_elevate_word" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='badWord'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-badword-view')}"> + <li <c:if test="${param.menuType=='badWord'}">class="active"</c:if>><la:link href="/admin/badword/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_bad_word" /></span> - </la:link></li> + </la:link></li></c:if> - </ul></li> + </ul></li></c:if> + <c:if test="${fe:permission('admin-systeminfo-view') or fe:permission('admin-searchlog-view') or fe:permission('admin-joblog-view') or fe:permission('admin-crawlinginfo-view') or fe:permission('admin-log-view') or fe:permission('admin-failureurl-view') or fe:permission('admin-searchlist-view') or fe:permission('admin-backup-view') or fe:permission('admin-maintenance-view')}"> <li class="treeview <c:if test="${param.menuCategoryType=='log'}">active</c:if>"><a href="#"><em class='fa fa-rss'></em> <span><la:message @@ -249,67 +266,70 @@ class="fa fa-angle-left pull-right"></em></a> <ul class="treeview-menu"> - <li - <c:if test="${param.menuType=='systemInfo'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-systeminfo-view')}"> + <li <c:if test="${param.menuType=='systemInfo'}">class="active"</c:if>><la:link href="/admin/systeminfo/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_system_info" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-searchlog-view')}"> <li <c:if test="${param.menuType=='searchLog'}">class="active"</c:if>><la:link href="/admin/searchlog/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_searchLog" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-joblog-view')}"> <li <c:if test="${param.menuType=='jobLog'}">class="active"</c:if>><la:link href="/admin/joblog/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_jobLog" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='crawlingInfo'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-crawlinginfo-view')}"> + <li <c:if test="${param.menuType=='crawlingInfo'}">class="active"</c:if>><la:link href="/admin/crawlinginfo/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_crawling_info" /></span> - </la:link></li> + </la:link></li></c:if> + <c:if test="${fe:permission('admin-log-view')}"> <li <c:if test="${param.menuType=='log'}">class="active"</c:if>><la:link href="/admin/log/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_log" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='failureUrl'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-failureurl-view')}"> + <li <c:if test="${param.menuType=='failureUrl'}">class="active"</c:if>><la:link href="/admin/failureurl/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_failure_url" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='searchList'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-searchlist-view')}"> + <li <c:if test="${param.menuType=='searchList'}">class="active"</c:if>><la:link href="/admin/searchlist/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_search_list" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='backup'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-backup-view')}"> + <li <c:if test="${param.menuType=='backup'}">class="active"</c:if>><la:link href="/admin/backup/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_backup" /></span> - </la:link></li> + </la:link></li></c:if> - <li - <c:if test="${param.menuType=='maintenance'}">class="active"</c:if>><la:link + <c:if test="${fe:permission('admin-maintenance-view')}"> + <li <c:if test="${param.menuType=='maintenance'}">class="active"</c:if>><la:link href="/admin/maintenance/"> <em class='fa fa-genderless'></em> <span><la:message key="labels.menu_maintenance" /></span> - </la:link></li> + </la:link></li></c:if> - </ul></li> + </ul></li></c:if> <c:if test="${fe:fileExists('/WEB-INF/view/common/admin/sidebar_extra.jsp')}"> <c:import url="/WEB-INF/view/common/admin/sidebar_extra.jsp" /> </c:if>