diff --git a/src/main/java/org/codelibs/fess/Constants.java b/src/main/java/org/codelibs/fess/Constants.java index ad8240195..91fa848c1 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 35772641a..f0ecc3778 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 1d116a85d..a2db4c1dc 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 a13fff500..d5d024ef3 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 2f6284c9c..70295dff7 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 e300c8366..20d72c71a 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 a1a264077..72bfa2400 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 cba435c62..22635025e 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 5afb51072..83e750743 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 5bc098e07..d4f4dc760 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> 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 825533541..ae346ebcc 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 4a7f9281f..0c031b62e 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 2c065af90..e656b9795 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 46056c007..b139aa8ee 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 64b1a39a4..e282a6594 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 7ff9192a1..afe7c7e5c 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 1e1728013..b1e50bbef 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 1e14c6e8b..23fdc069d 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 57c6a7cf6..a86f0de67 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 98e9ce4ca..4b3fa90e6 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 fc264d84b..d70bca4be 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 6588f4d97..9c6b1f660 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 63ce394f2..f50b4178b 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 6c53ed43d..dcdac47b2 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 deb0245e2..d5749226f 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 80e51d701..b8d34c710 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 a0a379c4f..165bb1aec 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 37e412265..1fb4645d7 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 09fe2ca50..6fa4922a5 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 3e42e1c57..7f4e9fe48 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 58b66a3b8..26ae8739c 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 ede4e3c5a..6590c5078 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 04b01423d..b1d12f1b5 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 a1cf552c7..5570eda85 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 b23d1cce2..80f590bfe 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 39bd1fcb4..4ba00052d 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 f60d70e98..ebd629bca 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 d047b09b2..afbd2c8d5 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 709eb1424..ba20b41d9 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 f63c0b855..64affa9cb 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 c041e8dff..563db4cdb 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 f5f18ef50..a9780a028 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 c93e9998d..73ad58ec6 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 435c56207..7d71cde5b 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 b1c6d341a..b35aaadc8 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 683cdfe8a..d2d2a7ca6 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 7c3e5f5aa..93be59623 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 dad0de616..9bcc68533 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 13ecc89c6..3a8f017b6 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 74d1a1673..b663d008d 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 aa4d58710..561a57848 100644 --- a/src/main/webapp/WEB-INF/fe.tld +++ b/src/main/webapp/WEB-INF/fe.tld @@ -265,4 +265,12 @@ java.lang.String getMessage(java.lang.String, java.lang.String) ${fe:message("labels.foobar", "default value")} + + + Check if user has a permission. + permission + org.codelibs.fess.taglib.FessFunctions + boolean hasActionRole(java.lang.String) + ${fe:permission("admin-dashboard")} + 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 7baba515b..b52f15c9f 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 @@ 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 c0491ec81..dc03ca484 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 @@ + + + + +