🎨 代码优化

pull/73/head
ruibaby 2018-12-28 11:25:13 +08:00
parent d7bd677da1
commit 26f11092a8
11 changed files with 151 additions and 126 deletions

View File

@ -6,6 +6,7 @@ import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
/**
@ -33,11 +34,13 @@ public class Link implements Serializable {
/**
*
*/
@NotEmpty(message = "友情链接名称不能为空!")
private String linkName;
/**
*
*/
@NotEmpty(message = "友情链接地址不能为空!")
private String linkUrl;
/**

View File

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@ -33,11 +34,13 @@ public class Tag implements Serializable {
/**
*
*/
@NotEmpty(message = "标签名称不能为空!")
private String tagName;
/**
*
*/
@NotEmpty(message = "标签路径不能为空!")
private String tagUrl;
@ManyToMany(mappedBy = "tags")

View File

@ -9,8 +9,11 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Optional;
/**
@ -46,38 +49,39 @@ public class CategoryController {
* /
*
* @param category category
* @return /admin/category
*/
@PostMapping(value = "/save")
public String saveCategory(@ModelAttribute Category category) {
try {
categoryService.save(category);
} catch (Exception e) {
log.error("Modify category failed: {}", e.getMessage());
}
return "redirect:/admin/category";
}
/**
*
*
* @param cateUrl
* @return JsonResult
*/
@GetMapping(value = "/checkUrl")
@PostMapping(value = "/save")
@ResponseBody
public JsonResult checkCateUrlExists(@RequestParam("cateUrl") String cateUrl) {
Category category = categoryService.findByCateUrl(cateUrl);
if (null != category) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
public JsonResult saveCategory(@Valid Category category, BindingResult result) {
if (result.hasErrors()) {
for (ObjectError error : result.getAllErrors()) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), error.getDefaultMessage());
}
}
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), "");
final Category tempCategory = categoryService.findByCateUrl(category.getCateUrl());
if (null != category.getCateId()) {
if (null != tempCategory && !category.getCateId().equals(tempCategory.getCateId())) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
}
} else {
if (null != tempCategory) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
}
}
category = categoryService.save(category);
if (null == category) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.save-failed"));
}
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), localeMessageUtil.getMessage("code.admin.common.save-success"));
}
/**
*
*
* @param cateId cateId
*
* @return /admin/category
*/
@GetMapping(value = "/remove")
@ -95,12 +99,13 @@ public class CategoryController {
*
* @param cateId cateId
* @param model model
*
* @return admin/admin_category
*/
@GetMapping(value = "/edit")
public String toEditCategory(Model model, @RequestParam("cateId") Long cateId) {
Optional<Category> category = categoryService.findByCateId(cateId);
model.addAttribute("updateCategory", category.get());
model.addAttribute("updateCategory", category.orElse(new Category()));
return "admin/admin_category";
}
}

View File

@ -29,11 +29,14 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@ -69,6 +72,7 @@ public class PageController {
*
*
* @param model model
*
* @return admin/admin_page
*/
@GetMapping
@ -93,12 +97,13 @@ public class PageController {
*
* @param model model
* @param linkId linkId
*
* @return String admin/admin_page_link
*/
@GetMapping(value = "/links/edit")
public String toEditLink(Model model, @RequestParam("linkId") Long linkId) {
Optional<Link> link = linkService.findByLinkId(linkId);
model.addAttribute("updateLink", link.get());
model.addAttribute("updateLink", link.orElse(new Link()));
return "admin/admin_page_link";
}
@ -106,22 +111,29 @@ public class PageController {
* /
*
* @param link Link
* @return /admin/page/links
*
* @return JsonResult
*/
@PostMapping(value = "/links/save")
public String saveLink(@ModelAttribute Link link) {
try {
linkService.save(link);
} catch (Exception e) {
log.error("Save/modify friendship link failed: {}", e.getMessage());
@ResponseBody
public JsonResult saveLink(@Valid Link link, BindingResult result) {
if (result.hasErrors()) {
for (ObjectError error : result.getAllErrors()) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), error.getDefaultMessage());
}
}
return "redirect:/admin/page/links";
link = linkService.save(link);
if (null == link) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.save-failed"));
}
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), localeMessageUtil.getMessage("code.admin.common.save-success"));
}
/**
*
*
* @param linkId
*
* @return /admin/page/links
*/
@GetMapping(value = "/links/remove")
@ -140,6 +152,7 @@ public class PageController {
* @param model model
* @param page
* @param size
*
* @return admin/admin_page_gallery
*/
@GetMapping(value = "/galleries")
@ -157,6 +170,7 @@ public class PageController {
*
*
* @param gallery gallery
*
* @return /admin/page/gallery
*/
@PostMapping(value = "/gallery/save")
@ -177,6 +191,7 @@ public class PageController {
*
* @param model model
* @param galleryId
*
* @return admin/widget/_gallery-detail
*/
@GetMapping(value = "/gallery")
@ -190,6 +205,7 @@ public class PageController {
*
*
* @param galleryId
*
* @return JsonResult
*/
@GetMapping(value = "/gallery/remove")
@ -208,6 +224,7 @@ public class PageController {
*
*
* @param model model
*
* @return admin/admin_page_md_editor
*/
@GetMapping(value = "/new")
@ -262,6 +279,7 @@ public class PageController {
*
* @param pageId
* @param model model
*
* @return admin/admin_page_md_editor
*/
@GetMapping(value = "/edit")
@ -277,6 +295,7 @@ public class PageController {
*
*
* @param postUrl postUrl
*
* @return JsonResult
*/
@GetMapping(value = "/checkUrl")

View File

@ -9,8 +9,12 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* <pre>
*
@ -44,38 +48,39 @@ public class TagController {
* /
*
* @param tag tag
* @return /admin/tag
*
* @return JsonResult
*/
@PostMapping(value = "/save")
public String saveTag(@ModelAttribute Tag tag) {
try {
tagService.save(tag);
} catch (Exception e) {
log.error("Add/modify tag failed: {}", e.getMessage());
}
return "redirect:/admin/tag";
}
/**
*
*
* @param tagUrl
* @return truefalse
*/
@GetMapping(value = "/checkUrl")
@ResponseBody
public JsonResult checkTagUrlExists(@RequestParam("tagUrl") String tagUrl) {
Tag tag = tagService.findByTagUrl(tagUrl);
if (null != tag) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
public JsonResult saveTag(@Valid Tag tag, BindingResult result) {
if (result.hasErrors()) {
for (ObjectError error : result.getAllErrors()) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), error.getDefaultMessage());
}
}
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), "");
final Tag tempTag = tagService.findByTagUrl(tag.getTagUrl());
if (null != tag.getTagId()) {
if (null != tempTag && !tag.getTagId().equals(tempTag.getTagId())) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
}
} else {
if (null != tempTag) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.url-is-exists"));
}
}
tag = tagService.save(tag);
if (null == tag) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.save-failed"));
}
return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), localeMessageUtil.getMessage("code.admin.common.save-success"));
}
/**
*
*
* @param tagId
*
* @return /admin/tag
*/
@GetMapping(value = "/remove")
@ -93,11 +98,12 @@ public class TagController {
*
* @param model model
* @param tagId
*
* @return admin/admin_tag
*/
@GetMapping(value = "/edit")
public String toEditTag(Model model, @RequestParam("tagId") Long tagId) {
Tag tag = tagService.findByTagId(tagId).get();
final Tag tag = tagService.findByTagId(tagId).orElse(new Tag());
model.addAttribute("updateTag", tag);
return "admin/admin_tag";
}

View File

@ -1,13 +1,13 @@
var halo = new $.halo();
$(document).ready(function () {
$("#login-name").val(localStorage.getItem("loginName"));
$("#loginName").val(localStorage.getItem("loginName"));
});
function btn_login() {
var btnLogin = $('#btn-login');
function doLogin() {
var btnLogin = $('#btnLogin');
var loginBody = $('.login-body');
var name = $("#login-name");
var pwd = $("#login-pwd");
var name = $("#loginName");
var pwd = $("#loginPwd");
btnLogin.button('loading');
if (name.val() === "" || pwd.val() === "") {
halo.showMsg("请输入完整信息!", 'info', 2000);
@ -46,6 +46,6 @@ function btn_login() {
$(document).keydown(function (event) {
if (event.keyCode === 13) {
btn_login();
doLogin();
}
});

View File

@ -1 +1 @@
var halo=new $.halo();$(document).ready(function(){$("#login-name").val(localStorage.getItem("loginName"));});function btn_login(){var btnLogin=$("#btn-login");var loginBody=$(".login-body");var name=$("#login-name");var pwd=$("#login-pwd");btnLogin.button("loading");if(name.val()===""||pwd.val()===""){halo.showMsg("请输入完整信息!","info",2000);btnLogin.button("reset");}else{$.post("/admin/getLogin",{loginName:name.val(),loginPwd:pwd.val()},function(data){localStorage.setItem("loginName",name.val());if(data.code===1){halo.showMsgAndRedirect(data.msg,"success",1000,"/admin","false");}else{loginBody.addClass("animate shake");$.toast({text:data.msg,heading:heading,icon:"error",showHideTransition:"fade",allowToastClose:true,hideAfter:2000,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){loginBody.removeClass("animate shake");}});btnLogin.button("reset");}},"JSON");}}$(document).keydown(function(event){if(event.keyCode===13){btn_login();}});
var halo=new $.halo();$(document).ready(function(){$("#loginName").val(localStorage.getItem("loginName"));});function doLogin(){var btnLogin=$("#btnLogin");var loginBody=$(".login-body");var name=$("#loginName");var pwd=$("#loginPwd");btnLogin.button("loading");if(name.val()===""||pwd.val()===""){halo.showMsg("请输入完整信息!","info",2000);btnLogin.button("reset");}else{$.post("/admin/getLogin",{loginName:name.val(),loginPwd:pwd.val()},function(data){localStorage.setItem("loginName",name.val());if(data.code===1){halo.showMsgAndRedirect(data.msg,"success",1000,"/admin","false");}else{loginBody.addClass("animate shake");$.toast({text:data.msg,heading:heading,icon:"error",showHideTransition:"fade",allowToastClose:true,hideAfter:2000,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){loginBody.removeClass("animate shake");}});btnLogin.button("reset");}},"JSON");}}$(document).keydown(function(event){if(event.keyCode===13){doLogin();}});

View File

@ -24,7 +24,7 @@
<div class="box-header with-border">
<h3 class="box-title"><@spring.message code='admin.categories.text.edit-category' /> <#if updateCategory??>[${updateCategory.cateName}]</#if></h3>
</div>
<form action="/admin/category/save" method="post" role="form" id="cateAddForm">
<form role="form" id="cateSaveForm">
<input type="hidden" name="cateId" value="${updateCategory.cateId?c}">
<div class="box-body">
<div class="form-group">
@ -44,7 +44,7 @@
</div>
</div>
<div class="box-footer">
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-edit' /></button>
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-edit' /></button>
<a data-pjax="true" href="/admin/category" class="btn btn-info btn-sm "><@spring.message code='common.btn.back-to-add' /></a>
</div>
</form>
@ -52,16 +52,16 @@
<div class="box-header with-border">
<h3 class="box-title"><@spring.message code='admin.categories.text.add-category' /></h3>
</div>
<form action="/admin/category/save" method="post" role="form" id="cateAddForm" onsubmit="return checkCate()">
<form role="form" id="cateSaveForm">
<div class="box-body">
<div class="form-group">
<label for="cateName"><@spring.message code='admin.categories.form.cate-name' /></label>
<input type="text" class="form-control" id="cateName" name="cateName" placeholder="">
<input type="text" class="form-control" id="cateName" name="cateName">
<small><@spring.message code='admin.categories.form.cate-name-tips' /></small>
</div>
<div class="form-group">
<label for="cateUrl"><@spring.message code='admin.categories.form.cate-url' /></label>
<input type="text" class="form-control" id="cateUrl" name="cateUrl" placeholder="">
<input type="text" class="form-control" id="cateUrl" name="cateUrl">
<small><@spring.message code='admin.categories.form.cate-url-tips' /></small>
</div>
<div class="form-group">
@ -71,7 +71,7 @@
</div>
</div>
<div class="box-footer">
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-add' /></button>
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-add' /></button>
</div>
</form>
</#if>
@ -155,22 +155,15 @@
window.location.href = url;
</#if>
}
function checkCate() {
var name = $('#cateName').val();
var url = $('#cateUrl').val();
var desc = $('#cateDesc').val();
var result = true;
if(name===""||url===""||desc===""){
halo.showMsg("<@spring.message code='common.js.info-no-complete' />",'info',2000);
result = false;
}
$.get('/admin/category/checkUrl',{'cateUrl' : url},function(data) {
if(data.code === 0){
function save() {
var param = $("#cateSaveForm").serialize();
$.post('/admin/category/save',param,function (data) {
if (data.code === 1) {
halo.showMsgAndRedirect(data.msg,'success',1000,'/admin/category',"${options.admin_pjax!'true'}");
} else {
halo.showMsg(data.msg,'error',2000);
result = false;
}
},'JSON');
return result;
}
</script>
</@footer>

View File

@ -11,22 +11,22 @@
<link rel="stylesheet" href="/static/halo-backend/plugins/toast/css/jquery.toast.min.css">
<link rel="stylesheet" href="/static/halo-backend/css/style.min.css">
<style>
body{background-color:#f5f5f5}*{outline:0}label{color:#4b1c0f}.login-form{max-width:380px;margin-top:10%}.login-logo{font-size:56px;text-align:center;margin-bottom:25px;font-weight:500;color:#444;text-shadow:#b2baba .1em .1em .2em}.login-body{padding:20px;background-color:#fff;-o-box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1);box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1)}.login-button{background-color:#fff;border-radius:0;border:1px solid #000;transition:all .5s ease-in-out}.login-button:hover{border:1px solid #fff;background-color:#000;color:#fff}.form-group{padding-bottom:25px}#login-name,#login-pwd{border-radius:0}.control{padding-bottom:5px}
body{background-color:#f5f5f5}*{outline:0}label{color:#4b1c0f}.loginForm{max-width:380px;margin-top:10%}.loginLogo{font-size:56px;text-align:center;margin-bottom:25px;font-weight:500;color:#444;text-shadow:#b2baba .1em .1em .2em}.loginBody{padding:20px;background-color:#fff;-o-box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1);box-shadow:-4px 7px 46px 2px rgba(0,0,0,.1)}.login-button{background-color:#fff;border-radius:0;border:1px solid #000;transition:all .5s ease-in-out}.login-button:hover{border:1px solid #fff;background-color:#000;color:#fff}.form-group{padding-bottom:25px}#loginName,#loginPwd{border-radius:0}.control{padding-bottom:5px}
</style>
</head>
<body>
<div class="container login-form">
<div class="container loginForm">
<#-- 虽然Halo使用了宽松的GPL协议但开发不易希望您可以保留一下版权声明。笔芯~ -->
<div class="login-logo animated fadeInUp">
<div class="loginLogo animated fadeInUp">
Halo
</div>
<div class="login-body animated">
<div class="loginBody animated">
<form>
<div class="form-group animated fadeInUp" style="animation-delay: 0.1s">
<input type="text" class="form-control" name="loginName" id="login-name" placeholder="<@spring.message code='login.form.loginName' />" autocomplete="username">
<input type="text" class="form-control" name="loginName" id="loginName" placeholder="<@spring.message code='login.form.loginName' />" autocomplete="username">
</div>
<div class="form-group animated fadeInUp" style="animation-delay: 0.2s">
<input type="password" class="form-control" name="loginPwd" id="login-pwd" placeholder="<@spring.message code='login.form.loginPwd' />" autocomplete="current-password">
<input type="password" class="form-control" name="loginPwd" id="loginPwd" placeholder="<@spring.message code='login.form.loginPwd' />" autocomplete="current-password">
</div>
<#--<div class="row control animated fadeInUp" style="animation-delay: 0.3s">-->
<#--<div class="col-xs-6">-->
@ -36,7 +36,7 @@
<#--<a href="#" style="color: #000;">忘记密码?</a>-->
<#--</div>-->
<#--</div>-->
<button type="button" id="btn-login" data-loading-text="<@spring.message code='login.btn.logining' />" class="btn btn-block login-button animated fadeInUp" onclick="btn_login()" style="animation-delay: 0.4s;outline: none;"><@spring.message code='login.btn.login' /></button>
<button type="button" id="btnLogin" data-loading-text="<@spring.message code='login.btn.logining' />" class="btn btn-block login-button animated fadeInUp" onclick="doLogin()" style="animation-delay: 0.4s;outline: none;"><@spring.message code='login.btn.login' /></button>
</form>
</div>
</div>

View File

@ -16,62 +16,62 @@
<div class="box box-primary">
<#if updateLink??>
<div class="box-header with-border"><h3 class="box-title"><@spring.message code='admin.pages.links.text.edit-link' /></h3></div>
<form action="/admin/page/links/save" method="post" role="form" onsubmit="return isNull()">
<form role="form" id="linkSaveForm">
<input type="hidden" name="linkId" value="${updateLink.linkId?c}">
<div class="box-body">
<div class="form-group">
<label for="linkName"><@spring.message code='admin.pages.links.form.link-name' /></label>
<input type="text" class="form-control" id="linkName" name="linkName" value="${updateLink.linkName}">
<input type="text" class="form-control" id="linkName" name="linkName" value="${updateLink.linkName!}">
<small><@spring.message code='admin.pages.links.form.link-name-tips' /></small>
</div>
<div class="form-group">
<label for="linkUrl"><@spring.message code='admin.pages.links.form.link-url' /></label>
<input type="url" class="form-control" id="linkUrl" name="linkUrl" value="${updateLink.linkUrl}">
<input type="url" class="form-control" id="linkUrl" name="linkUrl" value="${updateLink.linkUrl!}">
<small><@spring.message code='admin.pages.links.form.link-url-tips' /></small>
</div>
<div class="form-group">
<label for="linkPic">LOGO</label>
<input type="text" class="form-control" id="linkPic" name="linkPic" value="${updateLink.linkPic}">
<input type="text" class="form-control" id="linkPic" name="linkPic" value="${updateLink.linkPic!}">
<small><@spring.message code='admin.pages.links.form.link-pic-tips' /></small>
</div>
<div class="form-group">
<label for="linkDesc"><@spring.message code='admin.pages.links.form.link-desc' /></label>
<textarea class="form-control" rows="3" id="linkDesc" name="linkDesc" style="resize: none">${updateLink.linkDesc}</textarea>
<textarea class="form-control" rows="3" id="linkDesc" name="linkDesc" style="resize: none">${updateLink.linkDesc!}</textarea>
<small><@spring.message code='admin.pages.links.form.link-desc-tips' /></small>
</div>
</div>
<div class="box-footer">
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-edit' /></button>
<a data-pjax="true" href="/admin/page/links" class="btn btn-info btn-sm "><@spring.message code='common.btn.back-to-add' /></a>
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-edit' /></button>
<a data-pjax="true" href="/admin/page/links" class="btn btn-info btn-sm"><@spring.message code='common.btn.back-to-add' /></a>
</div>
</form>
<#else>
<div class="box-header with-border"><h3 class="box-title"><@spring.message code='admin.pages.links.text.add-link' /></h3></div>
<form action="/admin/page/links/save" method="post" role="form" onsubmit="return isNull()">
<form role="form" id="linkSaveForm">
<div class="box-body">
<div class="form-group">
<label for="exampleInputEmail1"><@spring.message code='admin.pages.links.form.link-name' /></label>
<label for="linkName"><@spring.message code='admin.pages.links.form.link-name' /></label>
<input type="text" class="form-control" id="linkName" name="linkName" >
<small><@spring.message code='admin.pages.links.form.link-name-tips' /></small>
</div>
<div class="form-group">
<label for="exampleInputPassword1"><@spring.message code='admin.pages.links.form.link-url' /></label>
<label for="linkUrl"><@spring.message code='admin.pages.links.form.link-url' /></label>
<input type="text" class="form-control" id="linkUrl" name="linkUrl" >
<small><@spring.message code='admin.pages.links.form.link-url-tips' /></small>
</div>
<div class="form-group">
<label for="exampleInputPassword1">LOGO</label>
<label for="linkPic">LOGO</label>
<input type="text" class="form-control" id="linkPic" name="linkPic" >
<small><@spring.message code='admin.pages.links.form.link-pic-tips' /></small>
</div>
<div class="form-group">
<label for="exampleInputPassword1"><@spring.message code='admin.pages.links.form.link-desc' /></label>
<label for="linkDesc"><@spring.message code='admin.pages.links.form.link-desc' /></label>
<textarea class="form-control" rows="3" id="linkDesc" name="linkDesc" style="resize: none"></textarea>
<small><@spring.message code='admin.pages.links.form.link-desc-tips' /></small>
</div>
</div>
<div class="box-footer">
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-add' /></button>
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-add' /></button>
</div>
</form>
</#if>
@ -147,13 +147,15 @@
window.location.href = url;
</#if>
}
function isNull() {
var name = $('#linkName').val();
var url = $('#linkUrl').val();
if(name===""||url===""){
halo.showMsg("<@spring.message code='common.js.info-no-complete' />",'info',2000);
return false;
}
function save() {
var param = $("#linkSaveForm").serialize();
$.post("/admin/page/links/save",param,function (data) {
if (data.code === 1) {
halo.showMsgAndRedirect(data.msg,'success',1000,'/admin/page/links',"${options.admin_pjax!'true'}");
} else {
halo.showMsg(data.msg,'error',2000);
}
})
}
</script>
</@footer>

View File

@ -27,23 +27,23 @@
<div class="box-header with-border">
<h3 class="box-title"><@spring.message code='admin.tags.text.edit-tag' /><#if updateTag??>[${updateTag.tagName}]</#if></h3>
</div>
<form action="/admin/tag/save" method="post" role="form">
<form role="form" id="tagSaveForm">
<input type="hidden" name="tagId" value="${updateTag.tagId?c}">
<div class="box-body">
<div class="form-group">
<label for="tagName"><@spring.message code='admin.tags.form.tag-name' /></label>
<input type="text" class="form-control" id="tagName" name="tagName" value="${updateTag.tagName}">
<input type="text" class="form-control" id="tagName" name="tagName" value="${updateTag.tagName!}">
<small><@spring.message code='admin.tags.form.tag-name-tips' /></small>
</div>
<div class="form-group">
<label for="tagUrl"><@spring.message code='admin.tags.form.tag-url' /></label>
<input type="text" class="form-control" id="tagUrl" name="tagUrl" value="${updateTag.tagUrl}">
<input type="text" class="form-control" id="tagUrl" name="tagUrl" value="${updateTag.tagUrl!}">
<small><@spring.message code='admin.tags.form.tag-url-tips' /></small>
</div>
</div>
<div class="box-footer">
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-edit' /></button>
<a data-pjax="true" href="/admin/tag" class="btn btn-info btn-sm "><@spring.message code='common.btn.back-to-add' /></a>
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-edit' /></button>
<a data-pjax="true" href="/admin/tag" class="btn btn-info btn-sm"><@spring.message code='common.btn.back-to-add' /></a>
<#if updateTag.posts?size = 0>
<a data-pjax="true" href="/admin/tag/remove?tagId=${updateTag.tagId?c}" class="btn btn-danger btn-sm pull-right"><@spring.message code='common.btn.delete' /></a>
</#if>
@ -53,7 +53,7 @@
<div class="box-header with-border">
<h3 class="box-title"><@spring.message code='admin.tags.text.add-tag' /></h3>
</div>
<form action="/admin/tag/save" method="post" role="form" onsubmit="return checkTag()">
<form role="form" id="tagSaveForm">
<div class="box-body">
<div class="form-group">
<label for="tagName"><@spring.message code='admin.tags.form.tag-name' /></label>
@ -67,7 +67,7 @@
</div>
</div>
<div class="box-footer">
<button type="submit" class="btn btn-primary btn-sm "><@spring.message code='common.btn.define-add' /></button>
<button type="button" class="btn btn-primary btn-sm" onclick="save()"><@spring.message code='common.btn.define-add' /></button>
</div>
</form>
</#if>
@ -132,21 +132,15 @@
window.location.href = url;
</#if>
}
function checkTag() {
var name = $('#tagName').val();
var url = $('#tagUrl').val();
var result = true;
if(name===""||url===""){
halo.showMsg("<@spring.message code='common.js.info-no-complete' />",'info',2000);
result = false;
}
$.get('/admin/tag/checkUrl',{'tagUrl' : url},function(data) {
if(data.code === 0){
function save() {
var param = $("#tagSaveForm").serialize();
$.post("/admin/tag/save",param,function (data) {
if (data.code === 1) {
halo.showMsgAndRedirect(data.msg,'success',1000,'/admin/tag',"${options.admin_pjax!'true'}");
} else {
halo.showMsg(data.msg,'error',2000);
result = false;
}
},'JSON');
return result;
})
}
</script>
</@footer>