分类编辑
/views/admin/category_index.html
{% extends 'layout.html' %}
{% block main %}
<ol class="breadcrumb">
<li><a href="/">管理首页</a></li>
<li><span>分类列表</span></li>
</ol>
<h3>分类列表</h3>
<table class="table table-hover table-striped">
<tr>
<th>ID</th>
<th>分类名称</th>
<th>操作</th>
</tr>
{% for category in categories %}
<tr>
<td>{{category._id.toString()}}</td>
<td>{{category.name}}</td>
<td>
<a href="/admin/category/edit?id={{category._id.toString()}}">修改</a>
<a href="/admin/category/delete?id={{category._id.toString()}}">删除</a>
</td>
</tr>
{% endfor %}
</table>
{%include 'page.html'%}
{% endblock %}
分类修改
/views/admin/category_edit.html
{% extends 'layout.html' %}
{% block main %}
<ol class="breadcrumb">
<li><a href="/">管理首页</a></li>
<li><span>分类编辑</span></li>
</ol>
<h3>分类编辑-{{category.name}}</h3>
<form role="form" method="post">
<div class="form-group">
<label for="name">分类名称:</label>
<input type="text" value="{{category.name}}" class="form-control" id="name" placeholder="请输入分类名称" name="name">
</div>
<button type="submit" class="btn btn-default">提交</button>
</form>
{% endblock %}
/routers/admin.js
/**
*分类修改
*/
router.get('/category/edit',function (req,res) {
//获取要修改分类的信息,并以表单展示
var id = req.query.id || '';
//获取要修改的分类信息
Category.findOne({
_id:id
}).then(function (category) {
if(!category){
res.render('admin/error',{
userInfo:req.userInfo,
message:'分类信息不存在'
});
}else {
res.render('admin/category_edit',{
userInfo:req.userInfo,
category:category
});
}
})
});
/**
* 分类修改保存
*/
router.post('/category/edit',function (req,res) {
var id = req.query.id || '';
//获取post提交过来的名称
var name = req.body.name || '';
//获取要修改的分类信息
Category.findOne({
_id:id
}).then(function (category) {
if(!category){
res.render('admin/error',{
userInfo:req.userInfo,
message:'分类信息不存在'
});
return Promise.reject();
}else {
//当用户未做任何修改时
if(name==category.name){
res.render('admin/success',{
userInfo:req.userInfo,
message:'修改成功',
url:'/admin/category'
});
return Promise.reject();
}else{
//要修改的分类是否已存在
Category.findOne({
_id:{$ne: id},
name:name
});
}
}
}).then(function (sameCategory) {
if(sameCategory){
res.render('admin/error',{
userInfo:req.userInfo,
message:'数据库中已经存在同名分类'
});
return Promise.reject();
}else {
return Category.update({
_id:id
},{
name:name
});
}
}).then(function () {
res.render('admin/success',{
userInfo:req.userInfo,
message:'修改成功',
url:'/admin/category'
});
})
});
分类删除
/routers/admin.js
/**
* 分类删除
*/
router.get('/category/delete',function (req,res) {
//获取要删除的分类id
var id = req.query.id || '';
Category.remove({
_id:id
}).then(function () {
res.render('admin/success',{
userInfo:req.userInfo,
message:'删除成功',
url:'/admin/category'
});
})
});