2018-03-19 21:28:44 +00:00
|
|
|
package filtercompanies
|
|
|
|
|
|
|
|
import (
|
2019-06-01 04:55:49 +00:00
|
|
|
"net/http"
|
|
|
|
|
2018-03-19 21:28:44 +00:00
|
|
|
"github.com/aerogo/aero"
|
2019-06-03 09:32:43 +00:00
|
|
|
"github.com/animenotifier/notify.moe/arn"
|
2018-03-19 21:28:44 +00:00
|
|
|
"github.com/animenotifier/notify.moe/components"
|
2018-03-23 00:43:45 +00:00
|
|
|
"github.com/animenotifier/notify.moe/utils"
|
2018-03-19 21:28:44 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
const maxEntries = 70
|
|
|
|
|
|
|
|
// NoDescription ...
|
2019-06-01 04:55:49 +00:00
|
|
|
func NoDescription(ctx aero.Context) error {
|
2018-03-23 00:43:45 +00:00
|
|
|
user := utils.GetUser(ctx)
|
|
|
|
|
|
|
|
if user == nil || (user.Role != "admin" && user.Role != "editor") {
|
2019-06-03 06:06:57 +00:00
|
|
|
return ctx.Redirect(http.StatusTemporaryRedirect, "/")
|
2018-03-23 00:43:45 +00:00
|
|
|
}
|
|
|
|
|
2018-03-19 21:28:44 +00:00
|
|
|
companies := arn.FilterCompanies(func(company *arn.Company) bool {
|
|
|
|
return !company.IsDraft && len(company.Description) < 5
|
|
|
|
})
|
|
|
|
|
|
|
|
arn.SortCompaniesPopularFirst(companies)
|
|
|
|
|
|
|
|
count := len(companies)
|
|
|
|
|
|
|
|
if count > maxEntries {
|
|
|
|
companies = companies[:maxEntries]
|
|
|
|
}
|
|
|
|
|
2019-06-01 04:55:49 +00:00
|
|
|
return ctx.HTML(components.CompaniesEditorList(companies, count, ctx.Path(), user))
|
2018-03-19 21:28:44 +00:00
|
|
|
}
|