Pārlūkot izejas kodu

Merge branch 'master' into 10.3.x

Shinsuke Sugaya 8 gadi atpakaļ
vecāks
revīzija
0433c27d6c

+ 6 - 0
src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java

@@ -234,6 +234,12 @@ public class AdminUserAction extends FessAdminAction {
     public HtmlResponse delete(final EditForm form) {
     public HtmlResponse delete(final EditForm form) {
         verifyCrudMode(form.crudMode, CrudMode.DETAILS);
         verifyCrudMode(form.crudMode, CrudMode.DETAILS);
         validate(form, messages -> {}, () -> asDetailsHtml());
         validate(form, messages -> {}, () -> asDetailsHtml());
+        getUserBean().ifPresent(u -> {
+            if (u.getFessUser() instanceof User && form.name.equals(u.getUserId())) {
+                throwValidationError(messages -> messages.addErrorsCouldNotDeleteLoggedInUser(GLOBAL), () -> asDetailsHtml());
+            }
+        });
+        verifyToken(() -> asDetailsHtml());
         final String id = form.id;
         final String id = form.id;
         userService
         userService
                 .getUser(id)
                 .getUser(id)

+ 17 - 0
src/main/java/org/codelibs/fess/mylasta/action/FessMessages.java

@@ -320,6 +320,9 @@ public class FessMessages extends FessLabels {
     /** The key of the message: Invalid header: {0} */
     /** The key of the message: Invalid header: {0} */
     public static final String ERRORS_invalid_header_for_request_file = "{errors.invalid_header_for_request_file}";
     public static final String ERRORS_invalid_header_for_request_file = "{errors.invalid_header_for_request_file}";
 
 
+    /** The key of the message: Could not delete logged in user. */
+    public static final String ERRORS_could_not_delete_logged_in_user = "{errors.could_not_delete_logged_in_user}";
+
     /** The key of the message: The given query has unknown condition. */
     /** The key of the message: The given query has unknown condition. */
     public static final String ERRORS_invalid_query_unknown = "{errors.invalid_query_unknown}";
     public static final String ERRORS_invalid_query_unknown = "{errors.invalid_query_unknown}";
 
 
@@ -1869,6 +1872,20 @@ public class FessMessages extends FessLabels {
         return this;
         return this;
     }
     }
 
 
+    /**
+     * Add the created action message for the key 'errors.could_not_delete_logged_in_user' with parameters.
+     * <pre>
+     * message: Could not delete logged in user.
+     * </pre>
+     * @param property The property name for the message. (NotNull)
+     * @return this. (NotNull)
+     */
+    public FessMessages addErrorsCouldNotDeleteLoggedInUser(String property) {
+        assertPropertyNotNull(property);
+        add(property, new UserMessage(ERRORS_could_not_delete_logged_in_user));
+        return this;
+    }
+
     /**
     /**
      * Add the created action message for the key 'errors.invalid_query_unknown' with parameters.
      * Add the created action message for the key 'errors.invalid_query_unknown' with parameters.
      * <pre>
      * <pre>

+ 4 - 0
src/main/java/org/codelibs/fess/mylasta/action/FessUserBean.java

@@ -89,6 +89,10 @@ public class FessUserBean extends TypicalUserBean<String> { // #change_it also L
                 stream -> stream.anyMatch(s1 -> stream(acceptedGroups).get(s3 -> s3.anyMatch(s2 -> s2.equals(s1)))));
                 stream -> stream.anyMatch(s1 -> stream(acceptedGroups).get(s3 -> s3.anyMatch(s2 -> s2.equals(s1)))));
     }
     }
 
 
+    public FessUser getFessUser() {
+        return user;
+    }
+
     public static FessUserBean empty() {
     public static FessUserBean empty() {
         return new FessUserBean(null) {
         return new FessUserBean(null) {
             private static final long serialVersionUID = 1L;
             private static final long serialVersionUID = 1L;

+ 1 - 0
src/main/resources/fess_message.properties

@@ -128,6 +128,7 @@ errors.unknown_version_for_upgrade=Unknown version information.
 errors.failed_to_upgrade_from=Failed to upgrade from {0}: {1}
 errors.failed_to_upgrade_from=Failed to upgrade from {0}: {1}
 errors.failed_to_read_request_file=Failed to read request file: {0}
 errors.failed_to_read_request_file=Failed to read request file: {0}
 errors.invalid_header_for_request_file=Invalid header: {0}
 errors.invalid_header_for_request_file=Invalid header: {0}
+errors.could_not_delete_logged_in_user=Could not delete logged in user.
 
 
 errors.invalid_query_unknown=The given query has unknown condition.
 errors.invalid_query_unknown=The given query has unknown condition.
 errors.invalid_query_parse_error=The given query is invalid.
 errors.invalid_query_parse_error=The given query is invalid.

+ 1 - 0
src/main/resources/fess_message_en.properties

@@ -124,6 +124,7 @@ errors.unknown_version_for_upgrade=Unknown version information.
 errors.failed_to_upgrade_from=Failed to upgrade from {0}.
 errors.failed_to_upgrade_from=Failed to upgrade from {0}.
 errors.failed_to_read_request_file=Failed to read request file: {0}
 errors.failed_to_read_request_file=Failed to read request file: {0}
 errors.invalid_header_for_request_file=Invalid header: {0}
 errors.invalid_header_for_request_file=Invalid header: {0}
+errors.could_not_delete_logged_in_user=Could not delete logged in user.
 
 
 errors.invalid_query_unknown=The given query has unknown condition.
 errors.invalid_query_unknown=The given query has unknown condition.
 errors.invalid_query_parse_error=The given query is invalid.
 errors.invalid_query_parse_error=The given query is invalid.

+ 1 - 0
src/main/resources/fess_message_ja.properties

@@ -131,6 +131,7 @@ errors.unknown_version_for_upgrade=\u4e0d\u660e\u306a\u30d0\u30fc\u30b8\u30e7\u3
 errors.failed_to_upgrade_from={0}\u304b\u3089\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
 errors.failed_to_upgrade_from={0}\u304b\u3089\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
 errors.failed_to_read_request_file=\u30ea\u30af\u30a8\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}
 errors.failed_to_read_request_file=\u30ea\u30af\u30a8\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}
 errors.invalid_header_for_request_file=\u30d8\u30c3\u30c0\u30fc\u884c\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093: {0}
 errors.invalid_header_for_request_file=\u30d8\u30c3\u30c0\u30fc\u884c\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093: {0}
+errors.could_not_delete_logged_in_user=\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u3044\u308b\u30e6\u30fc\u30b6\u30fc\u306f\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002
 
 
 success.update_crawler_params = \u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002
 success.update_crawler_params = \u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002
 success.delete_doc_from_index = \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304b\u3089\u6587\u66f8\u3092\u524a\u9664\u3059\u308b\u30d7\u30ed\u30bb\u30b9\u3092\u958b\u59cb\u3057\u307e\u3057\u305f\u3002
 success.delete_doc_from_index = \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304b\u3089\u6587\u66f8\u3092\u524a\u9664\u3059\u308b\u30d7\u30ed\u30bb\u30b9\u3092\u958b\u59cb\u3057\u307e\u3057\u305f\u3002