v2
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"management/internal/erpserver/handler"
|
||||
"management/internal/erpserver/model/dto"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/templ/system/auditlog"
|
||||
"management/internal/pkg/convertor"
|
||||
"management/internal/pkg/render"
|
||||
)
|
||||
@@ -25,7 +26,8 @@ func NewAuditHandler(handler *handler.Handler, auditLogService v1.AuditLogServic
|
||||
func (h *AuditHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
h.HTML(w, r, "audit_log/list.tmpl", nil)
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, auditlog.List(ctx))
|
||||
case http.MethodPost:
|
||||
var q dto.SearchDto
|
||||
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
|
||||
|
||||
@@ -8,7 +8,9 @@ import (
|
||||
"management/internal/erpserver/handler"
|
||||
"management/internal/erpserver/model/dto"
|
||||
systemModel "management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/model/view"
|
||||
systemService "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/templ/system/config"
|
||||
"management/internal/pkg/convertor"
|
||||
"management/internal/pkg/database"
|
||||
"management/internal/pkg/render"
|
||||
@@ -29,7 +31,8 @@ func NewConfigHandler(handler *handler.Handler, configService systemService.Conf
|
||||
func (h *ConfigHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
h.HTML(w, r, "config/list.tmpl", nil)
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, config.List(ctx))
|
||||
case http.MethodPost:
|
||||
var q dto.SearchDto
|
||||
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
|
||||
@@ -56,21 +59,15 @@ func (h *ConfigHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func (h *ConfigHandler) Add(w http.ResponseWriter, r *http.Request) {
|
||||
h.HTML(w, r, "config/edit.tmpl", map[string]any{
|
||||
"Item": &systemModel.Config{},
|
||||
"Result": "",
|
||||
})
|
||||
}
|
||||
|
||||
type EditSysConfig struct {
|
||||
*systemModel.Config
|
||||
Result string
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, config.Edit(ctx, &view.EditSysConfig{Config: &systemModel.Config{}}))
|
||||
}
|
||||
|
||||
func (h *ConfigHandler) Edit(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
vars := r.URL.Query()
|
||||
id := convertor.QueryInt[int32](vars, "id", 0)
|
||||
vm := &EditSysConfig{}
|
||||
vm := &view.EditSysConfig{}
|
||||
if id > 0 {
|
||||
if conf, err := h.configService.Get(r.Context(), id); err == nil {
|
||||
vm.Config = conf
|
||||
@@ -78,10 +75,7 @@ func (h *ConfigHandler) Edit(w http.ResponseWriter, r *http.Request) {
|
||||
vm.Result = string(b)
|
||||
}
|
||||
}
|
||||
h.HTML(w, r, "config/edit.tmpl", map[string]any{
|
||||
"Item": vm.Config,
|
||||
"Result": vm.Result,
|
||||
})
|
||||
h.Render(ctx, w, config.Edit(ctx, vm))
|
||||
}
|
||||
|
||||
func (h *ConfigHandler) Save(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"management/internal/erpserver/model/form"
|
||||
systemmodel "management/internal/erpserver/model/system"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/templ/system/department"
|
||||
"management/internal/pkg/binding"
|
||||
"management/internal/pkg/convertor"
|
||||
"management/internal/pkg/render"
|
||||
@@ -28,7 +29,8 @@ func NewDepartmentHandler(handler *handler.Handler, departmentService v1.Departm
|
||||
func (h *DepartmentHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
h.HTML(w, r, "department/list.tmpl", nil)
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, department.List(ctx))
|
||||
case http.MethodPost:
|
||||
var q dto.SearchDto
|
||||
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
|
||||
@@ -57,30 +59,27 @@ func (h *DepartmentHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func (h *DepartmentHandler) Add(w http.ResponseWriter, r *http.Request) {
|
||||
h.HTML(w, r, "department/edit.tmpl", map[string]any{
|
||||
"Item": &systemmodel.Department{Sort: 6666},
|
||||
})
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, department.Edit(ctx, &systemmodel.Department{Sort: 6666}))
|
||||
}
|
||||
|
||||
func (h *DepartmentHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
|
||||
vars := r.URL.Query()
|
||||
parentID := convertor.QueryInt[int32](vars, "parentID", 0)
|
||||
vm := &systemmodel.Department{ParentID: parentID, Sort: 6666}
|
||||
h.HTML(w, r, "department/edit.tmpl", map[string]any{
|
||||
"Item": vm,
|
||||
})
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, department.Edit(ctx, vm))
|
||||
}
|
||||
|
||||
func (h *DepartmentHandler) Edit(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
vars := r.URL.Query()
|
||||
id := convertor.QueryInt[int32](vars, "id", 0)
|
||||
vm := &systemmodel.Department{Sort: 6666}
|
||||
if id > 0 {
|
||||
vm, _ = h.departmentService.Get(r.Context(), id)
|
||||
}
|
||||
h.HTML(w, r, "department/edit.tmpl", map[string]any{
|
||||
"Item": vm,
|
||||
})
|
||||
h.Render(ctx, w, department.Edit(ctx, vm))
|
||||
}
|
||||
|
||||
func (h *DepartmentHandler) Save(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -29,7 +29,6 @@ func NewHomeHandler(
|
||||
func (h *HomeHandler) Home(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, home.Home(ctx))
|
||||
//h.HTML(w, r, "home/home.tmpl", nil)
|
||||
}
|
||||
|
||||
func (h *HomeHandler) Dashboard(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -39,10 +38,4 @@ func (h *HomeHandler) Dashboard(w http.ResponseWriter, r *http.Request) {
|
||||
lt, _ := h.loginLogService.LoginTime(ctx, auth.Email)
|
||||
c := h.loginLogService.LoginCount(ctx, auth.Email)
|
||||
h.Render(ctx, w, home.Dashboard(ctx, int(c), lt.ThisLoginTime, lt.LastLoginTime))
|
||||
//h.HTML(w, r, "home/dashboard.tmpl", map[string]any{
|
||||
// "Auth": auth,
|
||||
// "User": user,
|
||||
// "LoginTime": lt,
|
||||
// "LoginCount": c,
|
||||
//})
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"management/internal/erpserver/handler"
|
||||
"management/internal/erpserver/model/dto"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/templ/system/loginlog"
|
||||
"management/internal/pkg/convertor"
|
||||
"management/internal/pkg/render"
|
||||
)
|
||||
@@ -25,7 +26,8 @@ func NewLoginLogHandler(handler *handler.Handler, loginLogService v1.LoginLogSer
|
||||
func (h *LoginLogHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
h.HTML(w, r, "login_log/list.tmpl", nil)
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, loginlog.List(ctx))
|
||||
case http.MethodPost:
|
||||
var q dto.SearchDto
|
||||
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"management/internal/erpserver/handler"
|
||||
systemmodel "management/internal/erpserver/model/system"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/templ/system/menu"
|
||||
"management/internal/pkg/convertor"
|
||||
"management/internal/pkg/database"
|
||||
"management/internal/pkg/render"
|
||||
@@ -45,7 +46,8 @@ func (h *MenuHandler) Menus(w http.ResponseWriter, r *http.Request) {
|
||||
func (h *MenuHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
h.HTML(w, r, "menu/list.tmpl", nil)
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, menu.List(ctx))
|
||||
case http.MethodPost:
|
||||
res, err := h.menuService.ListMenuTree(r.Context())
|
||||
if err != nil {
|
||||
@@ -66,16 +68,16 @@ func (h *MenuHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func (h *MenuHandler) Add(w http.ResponseWriter, r *http.Request) {
|
||||
h.HTML(w, r, "menu/edit.tmpl", map[string]any{
|
||||
"Item": &systemmodel.Menu{Style: style, Visible: true, Sort: 6666},
|
||||
})
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, menu.Edit(ctx, &systemmodel.Menu{Style: style, Visible: true, Sort: 6666}))
|
||||
}
|
||||
|
||||
func (h *MenuHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
vars := r.URL.Query()
|
||||
parentID := convertor.QueryInt[int32](vars, "parentID", 0)
|
||||
vm := &systemmodel.Menu{ParentID: parentID, Style: style, Visible: true, Sort: 6666}
|
||||
parent, err := h.menuService.Get(r.Context(), parentID)
|
||||
parent, err := h.menuService.Get(ctx, parentID)
|
||||
if err == nil {
|
||||
if parent.Type == "node" {
|
||||
vm.Type = "menu"
|
||||
@@ -83,21 +85,18 @@ func (h *MenuHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
|
||||
vm.Type = "btn"
|
||||
}
|
||||
}
|
||||
h.HTML(w, r, "menu/edit.tmpl", map[string]any{
|
||||
"Item": vm,
|
||||
})
|
||||
h.Render(ctx, w, menu.Edit(ctx, vm))
|
||||
}
|
||||
|
||||
func (h *MenuHandler) Edit(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
vars := r.URL.Query()
|
||||
id := convertor.QueryInt[int32](vars, "id", 0)
|
||||
vm := &systemmodel.Menu{Style: style, Sort: 6666}
|
||||
if id > 0 {
|
||||
vm, _ = h.menuService.Get(r.Context(), id)
|
||||
}
|
||||
h.HTML(w, r, "menu/edit.tmpl", map[string]any{
|
||||
"Item": vm,
|
||||
})
|
||||
h.Render(ctx, w, menu.Edit(ctx, vm))
|
||||
}
|
||||
|
||||
func (h *MenuHandler) Save(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"management/internal/erpserver/model/dto"
|
||||
"management/internal/erpserver/model/form"
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/model/view"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/templ/system/role"
|
||||
"management/internal/pkg/binding"
|
||||
@@ -34,7 +35,6 @@ func (h *RoleHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
case http.MethodGet:
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, role.List(ctx))
|
||||
//h.HTML(w, r, "role/list.tmpl", nil)
|
||||
case http.MethodPost:
|
||||
var q dto.SearchDto
|
||||
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
|
||||
@@ -65,9 +65,6 @@ func (h *RoleHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
func (h *RoleHandler) Add(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, role.Edit(ctx, &system.Role{Sort: 6666}))
|
||||
//h.HTML(w, r, "role/edit.tmpl", map[string]any{
|
||||
// "Item": &system.Role{Sort: 6666},
|
||||
//})
|
||||
}
|
||||
|
||||
func (h *RoleHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -76,9 +73,6 @@ func (h *RoleHandler) AddChildren(w http.ResponseWriter, r *http.Request) {
|
||||
vm := &system.Role{ParentID: parentID, Sort: 6666}
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, role.Edit(ctx, vm))
|
||||
//h.HTML(w, r, "role/edit.tmpl", map[string]any{
|
||||
// "Item": vm,
|
||||
//})
|
||||
}
|
||||
|
||||
func (h *RoleHandler) Edit(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -90,9 +84,6 @@ func (h *RoleHandler) Edit(w http.ResponseWriter, r *http.Request) {
|
||||
vm, _ = h.roleService.Get(ctx, id)
|
||||
}
|
||||
h.Render(ctx, w, role.Edit(ctx, vm))
|
||||
//h.HTML(w, r, "role/edit.tmpl", map[string]any{
|
||||
// "Item": vm,
|
||||
//})
|
||||
}
|
||||
|
||||
func (h *RoleHandler) Save(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -206,22 +197,19 @@ func (h *RoleHandler) SetMenu(w http.ResponseWriter, r *http.Request) {
|
||||
case http.MethodGet:
|
||||
vars := r.URL.Query()
|
||||
id := convertor.QueryInt[int32](vars, "id", 0)
|
||||
vm := struct {
|
||||
Role *system.Role
|
||||
Menus []*dto.SetMenuDto
|
||||
}{}
|
||||
vm := &view.SetMenuView{
|
||||
Role: &system.Role{},
|
||||
Menus: []*dto.SetMenuDto{},
|
||||
}
|
||||
ctx := r.Context()
|
||||
if id > 0 {
|
||||
ctx := r.Context()
|
||||
var err error
|
||||
vm.Role, err = h.roleService.Get(ctx, id)
|
||||
if err == nil {
|
||||
vm.Menus, _ = h.menuService.MenuViewData(ctx, vm.Role.ID)
|
||||
}
|
||||
}
|
||||
|
||||
h.HTML(w, r, "role/set_menu.tmpl", map[string]any{
|
||||
"Item": vm,
|
||||
})
|
||||
h.Render(ctx, w, role.SetMenu(ctx, vm))
|
||||
case http.MethodPost:
|
||||
ctx := r.Context()
|
||||
id := convertor.ConvertInt[int32](r.PostFormValue("ID"), 0)
|
||||
|
||||
@@ -11,10 +11,10 @@ import (
|
||||
systemmodel "management/internal/erpserver/model/system"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/templ/auth"
|
||||
"management/internal/erpserver/templ/system/user"
|
||||
"management/internal/pkg/binding"
|
||||
"management/internal/pkg/convertor"
|
||||
"management/internal/pkg/render"
|
||||
"management/internal/pkg/render/html"
|
||||
)
|
||||
|
||||
type UserHandler struct {
|
||||
@@ -42,27 +42,22 @@ func NewUserHandler(
|
||||
}
|
||||
|
||||
func (h *UserHandler) Add(w http.ResponseWriter, r *http.Request) {
|
||||
h.HTML(w, r, "user/edit.tmpl", map[string]any{
|
||||
"Item": &systemmodel.User{
|
||||
HashedPassword: nil,
|
||||
},
|
||||
})
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, user.Edit(ctx, &systemmodel.User{HashedPassword: nil}))
|
||||
}
|
||||
|
||||
func (h *UserHandler) Edit(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
vars := r.URL.Query()
|
||||
id := convertor.QueryInt[int32](vars, "id", 0)
|
||||
user := &systemmodel.User{}
|
||||
vm := &systemmodel.User{}
|
||||
if id > 0 {
|
||||
ctx := r.Context()
|
||||
if u, err := h.userService.Get(ctx, id); err == nil {
|
||||
user.HashedPassword = []byte("********")
|
||||
user = u
|
||||
vm.HashedPassword = []byte("********")
|
||||
vm = u
|
||||
}
|
||||
}
|
||||
h.HTML(w, r, "user/edit.tmpl", map[string]any{
|
||||
"Item": user,
|
||||
})
|
||||
h.Render(ctx, w, user.Edit(ctx, vm))
|
||||
}
|
||||
|
||||
func (h *UserHandler) Save(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -108,9 +103,8 @@ func (h *UserHandler) Save(w http.ResponseWriter, r *http.Request) {
|
||||
func (h *UserHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
h.HTML(w, r, "user/list.tmpl", map[string]any{
|
||||
"Statuses": html.NewSelectControls(html.SearchStatuses, "0"),
|
||||
})
|
||||
ctx := r.Context()
|
||||
h.Render(ctx, w, user.List(ctx))
|
||||
case http.MethodPost:
|
||||
var q dto.SearchDto
|
||||
q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
|
||||
@@ -140,11 +134,9 @@ func (h *UserHandler) List(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
func (h *UserHandler) Profile(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
user := h.AuthUser(ctx)
|
||||
vm, _ := h.userService.Get(ctx, user.ID)
|
||||
h.HTML(w, r, "user/profile.tmpl", map[string]any{
|
||||
"Item": vm,
|
||||
})
|
||||
u := h.AuthUser(ctx)
|
||||
vm, _ := h.userService.Get(ctx, u.ID)
|
||||
h.Render(ctx, w, user.Profile(ctx, vm))
|
||||
}
|
||||
|
||||
func (h *UserHandler) Data(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -168,8 +160,8 @@ func (h *UserHandler) Login(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
user := h.AuthUser(ctx)
|
||||
if user.ID > 0 {
|
||||
u := h.AuthUser(ctx)
|
||||
if u.ID > 0 {
|
||||
if err := h.RenewToken(ctx); err == nil {
|
||||
http.Redirect(w, r, "/home.html", http.StatusFound)
|
||||
return
|
||||
@@ -179,7 +171,6 @@ func (h *UserHandler) Login(w http.ResponseWriter, r *http.Request) {
|
||||
_ = h.Destroy(ctx)
|
||||
component := auth.Login(ctx)
|
||||
h.Render(ctx, w, component)
|
||||
//h.HTML(w, r, "oauth/login.tmpl", nil)
|
||||
case http.MethodPost:
|
||||
defer func(Body io.ReadCloser) {
|
||||
err := Body.Close()
|
||||
|
||||
Reference in New Issue
Block a user