diff --git a/src/main/java/run/halo/app/core/freemarker/tag/MenuTagDirective.java b/src/main/java/run/halo/app/core/freemarker/tag/MenuTagDirective.java index 2b9823169..806c53471 100644 --- a/src/main/java/run/halo/app/core/freemarker/tag/MenuTagDirective.java +++ b/src/main/java/run/halo/app/core/freemarker/tag/MenuTagDirective.java @@ -50,6 +50,10 @@ public class MenuTagDirective implements TemplateDirectiveModel { String team = params.get("team").toString(); env.setVariable("menus", builder.build().wrap(menuService.listByTeam(team, Sort.by(DESC, "priority")))); break; + case "treeByTeam": + String treeTeam = params.get("team").toString(); + env.setVariable("menus", builder.build().wrap(menuService.listByTeamAsTree(treeTeam, Sort.by(DESC, "priority")))); + break; case "count": env.setVariable("count", builder.build().wrap(menuService.count())); break; diff --git a/src/main/java/run/halo/app/service/MenuService.java b/src/main/java/run/halo/app/service/MenuService.java index 672b5ef31..e7d2942fc 100644 --- a/src/main/java/run/halo/app/service/MenuService.java +++ b/src/main/java/run/halo/app/service/MenuService.java @@ -47,6 +47,15 @@ public interface MenuService extends CrudService { */ List listByTeam(@NonNull String team, Sort sort); + /** + * List menus by team as tree. + * + * @param team team + * @param sort sort + * @return list of tree menus + */ + List listByTeamAsTree(@NonNull String team, Sort sort); + /** * Creates a menu. * @@ -62,7 +71,7 @@ public interface MenuService extends CrudService { * @param sort sort info must not be null * @return a menu tree */ - List listAsTree(Sort sort); + List listAsTree(@NonNull Sort sort); /** * Lists menu by parent id. diff --git a/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java b/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java index 52ee0251c..644cf2a89 100644 --- a/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java @@ -77,6 +77,24 @@ public class MenuServiceImpl extends AbstractCrudService implemen return menus.stream().map(menu -> (MenuDTO) new MenuDTO().convertFrom(menu)).collect(Collectors.toList()); } + @Override + public List listByTeamAsTree(String team, Sort sort) { + Assert.notNull(team, "Team must not be null"); + + List menus = menuRepository.findByTeam(team, sort); + + if (CollectionUtils.isEmpty(menus)) { + return Collections.emptyList(); + } + + MenuVO topLevelMenu = createTopLevelMenu(); + + concreteTree(topLevelMenu, menus); + + List children = topLevelMenu.getChildren(); + return children; + } + @Override public Menu createBy(MenuParam menuParam) { Assert.notNull(menuParam, "Menu param must not be null"); diff --git a/src/main/java/run/halo/app/utils/HaloUtils.java b/src/main/java/run/halo/app/utils/HaloUtils.java index e14641894..da4cd20fe 100755 --- a/src/main/java/run/halo/app/utils/HaloUtils.java +++ b/src/main/java/run/halo/app/utils/HaloUtils.java @@ -30,17 +30,6 @@ public class HaloUtils { public static final String URL_SEPARATOR = "/"; - /** - * Gets current http servlet request. - * - * @return current http servlet request - */ - @NonNull - public static HttpServletRequest getHttpServletRequest() { - return ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())) - .getRequest(); - } - @NonNull public static String ensureBoth(@NonNull String string, @NonNull String bothfix) { return ensureBoth(string, bothfix, bothfix); diff --git a/src/main/resources/templates/common/mail_template/mail_notice.ftl b/src/main/resources/templates/common/mail_template/mail_notice.ftl index fddd2137f..f3e94cece 100644 --- a/src/main/resources/templates/common/mail_template/mail_notice.ftl +++ b/src/main/resources/templates/common/mail_template/mail_notice.ftl @@ -12,7 +12,7 @@ ${author!}:${content!}


-

你可以点击查看完整内容

+

您可以点击查看完整内容

diff --git a/src/main/resources/templates/common/mail_template/mail_reply.ftl b/src/main/resources/templates/common/mail_template/mail_reply.ftl index 145751bcb..ce09cac9e 100644 --- a/src/main/resources/templates/common/mail_template/mail_reply.ftl +++ b/src/main/resources/templates/common/mail_template/mail_reply.ftl @@ -10,10 +10,10 @@

您在《${page!}》的留言:

${baseContent!}

-

${replyAuthor!} 给你的回复: +

${replyAuthor!} 给您的回复:

${replyContent!}

-

你可以点击 +

您可以点击 查看完整内容

欢迎再度光临