2014-10-09 02:29:18 +04:00
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package admin
import (
"github.com/Unknwon/com"
2015-09-25 19:39:31 +03:00
"github.com/Unknwon/paginater"
2014-10-09 02:29:18 +04:00
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/log"
"github.com/gogits/gogs/modules/middleware"
2015-09-25 19:13:38 +03:00
"github.com/gogits/gogs/modules/setting"
2014-10-09 02:29:18 +04:00
)
const (
NOTICES base . TplName = "admin/notice"
)
func Notices ( ctx * middleware . Context ) {
ctx . Data [ "Title" ] = ctx . Tr ( "admin.notices" )
ctx . Data [ "PageIsAdmin" ] = true
ctx . Data [ "PageIsAdminNotices" ] = true
2015-09-25 19:13:38 +03:00
total := models . CountNotices ( )
page := ctx . QueryInt ( "page" )
if page <= 1 {
page = 1
}
ctx . Data [ "Page" ] = paginater . New ( int ( total ) , setting . AdminNoticePagingNum , page , 5 )
notices , err := models . Notices ( page , setting . AdminNoticePagingNum )
2014-10-09 02:29:18 +04:00
if err != nil {
2015-09-25 19:13:38 +03:00
ctx . Handle ( 500 , "Notices" , err )
2014-10-09 02:29:18 +04:00
return
}
ctx . Data [ "Notices" ] = notices
2015-09-25 19:13:38 +03:00
ctx . Data [ "Total" ] = total
2014-10-09 02:29:18 +04:00
ctx . HTML ( 200 , NOTICES )
}
func DeleteNotice ( ctx * middleware . Context ) {
id := com . StrTo ( ctx . Params ( ":id" ) ) . MustInt64 ( )
if err := models . DeleteNotice ( id ) ; err != nil {
ctx . Handle ( 500 , "DeleteNotice" , err )
return
}
log . Trace ( "System notice deleted by admin(%s): %d" , ctx . User . Name , id )
ctx . Flash . Success ( ctx . Tr ( "admin.notices.delete_success" ) )
ctx . Redirect ( "/admin/notices" )
}