diff --git a/handlers/dev/md.usergroup.handlers.go b/handlers/dev/md.usergroup.handlers.go index d3a98e2..f865f52 100644 --- a/handlers/dev/md.usergroup.handlers.go +++ b/handlers/dev/md.usergroup.handlers.go @@ -128,14 +128,14 @@ func (lh *MdUserGroupHandler) HandleShowMdUserGroupScreen(c echo.Context) error "text", "/dev/md/usergroupv2/filter", "input changed delay:500ms, search", - "#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID, #searchID") + "#"+paginationID, "", "", "outerHTML", "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID") //Pagination userGroupPaginationComponent := pagination.PaginationV2( totalPage, 1, "/dev/md/usergroupv2/changepage", paginationID, - "#tableID, #searchID, #"+searchID+", #paginationID", + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID", "#"+paginationID, "outerHTML", "", "", ) @@ -214,7 +214,7 @@ func (lh *MdUserGroupHandler) HandleShowMdUserGroupScreen(c echo.Context) error modalEditFormComponent := dev_mdusergroupview.UserGroupForm( models.UserGroupFormComponent{ IDComponent: "formusergroup", - Link: "", + Link: "/dev/md/usergroupv2/edit", HxTarget: "#" + dialogEditBodyID, HxSwap: "outerHTML", HxInclude: "#tableID, #paginationID, #searchID, #dialogEditBodyID, #dialogEditID, #" + searchID + ", #currpage" + paginationID, @@ -273,7 +273,7 @@ func (lh *MdUserGroupHandler) HandleFilterMdUserGroup(c echo.Context) error { } tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroup, tableID, - "", + "/dev/md/usergroupv2/openedit", "#"+dialogEditBodyID, "outerHTML", "#dialogEditBodyID, #dialogEditID") @@ -282,7 +282,7 @@ func (lh *MdUserGroupHandler) HandleFilterMdUserGroup(c echo.Context) error { 1, "/dev/md/usergroupv2/changepage", paginationID, - "#tableID, #searchID, #"+searchID+", #paginationID", + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID", "#"+paginationID, "outerHTML", "", "", ) @@ -319,7 +319,7 @@ func (lh *MdUserGroupHandler) HandleChangePageMdUserGroup(c echo.Context) error } tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroup, tableID, - "", + "/dev/md/usergroupv2/openedit", "#"+dialogEditBodyID, "outerHTML", "#dialogEditBodyID, #dialogEditID", @@ -329,7 +329,7 @@ func (lh *MdUserGroupHandler) HandleChangePageMdUserGroup(c echo.Context) error page, "/dev/md/usergroupv2/changepage", paginationID, - "#tableID, #searchID, #"+searchID+", #paginationID", + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID", "#"+paginationID, "outerHTML", "", "", ) @@ -494,7 +494,7 @@ func (lh *MdUserGroupHandler) HandleAddUserGroup(c echo.Context) error { currPage, "/dev/md/usergroupv2/changepage", paginationID, - "#tableID, #searchID, #"+searchID+", #paginationID", + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID", "#"+paginationID, "outerHTML", "", "true", ) @@ -569,7 +569,7 @@ func (lh *MdUserGroupHandler) HandleOpenEditForm(c echo.Context) error { Label: "Kode User Group", Name: "usergroupid", Placeholder: "Kode user group", - Value: id, + Value: strconv.Itoa(dataUserGroup.M_UserGroupID), Type: "hidden", ID: "usergroupinputid"}, dialogEditBodyID, dev_mdusergroupview.JsShowModal("#"+dialogEditID)) return utils.View(c, newForm) @@ -595,3 +595,171 @@ func (lh *MdUserGroupHandler) HandleCloseFormEdit(c echo.Context) error { dialogEditBodyID, dev_mdusergroupview.JsHideModal("")) return utils.View(c, newForm) } +func (lh *MdUserGroupHandler) HandleEditUserGroup(c echo.Context) error { + + logger, _ := zap.NewProduction() + defer logger.Sync() + + //prm form addusergroup + code := c.FormValue("usergroupcode") + name := c.FormValue("usergroupname") + id := c.FormValue("usergroupid") + tableID := c.FormValue("tableID") + paginationID := c.FormValue("paginationID") + searchID := c.FormValue("searchID") + search := c.FormValue("search") + currPagePrm := c.FormValue("currpage" + paginationID) + // dialogAddBodyID := c.FormValue("dialogAddBodyID") + dialogEditID := c.FormValue("dialogEditID") + dialogEditBodyID := c.FormValue("dialogEditBodyID") + + currPage, err := strconv.Atoi(currPagePrm) + if err != nil { + return err + } + logger.Info("ADD USER GROUP PARAM", + zap.Any("code", code), + zap.Any("nama", name), + zap.Any("tableid", tableID), + zap.Any("search", search), + zap.Any("currpage", currPage), + ) + formValidation := "" + codeValidation := "" + nameValidation := "" + if strings.TrimSpace(code) == "" { + formValidation = "Code user group tidak boleh kosong" + codeValidation = "Code user group tidak boleh kosong" + nameValidation = "" + } + if strings.TrimSpace(name) == "" { + formValidation = "Nama user group tidak boleh kosong" + codeValidation = "" + nameValidation = "Nama user group tidak boleh kosong" + } + if strings.TrimSpace(code) == "" && strings.TrimSpace(name) == "" { + formValidation = "Code dan nama user group tidak boleh kosong" + codeValidation = "Code user group tidak boleh kosong" + nameValidation = "Nama user group tidak boleh kosong" + + } + + if formValidation != "" || codeValidation != "" || nameValidation != "" { + newForm := dev_mdusergroupview.BodyFormUserGroup( + models.CustomTextFieldv2Prm{ + Label: "Kode User Group", + Name: "usergroupcode", + Placeholder: "Kode user group", + ErrorMsg: codeValidation, + Value: code, + Type: "text"}, + models.CustomTextFieldv2Prm{ + Label: "Nama User Group", + Name: "usergroupname", + Placeholder: "Nama user group", + ErrorMsg: nameValidation, + Value: name, + Type: "text"}, + models.CustomTextFieldv2Prm{ + Label: "Kode User Group", + Name: "usergroupid", + Placeholder: "Kode user group", + Type: "hidden", ID: "usergroupinputid"}, + dialogEditBodyID, dev_mdusergroupview.JsHideModal("")) + return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Warning", formValidation, "warning"), newForm}) + } + //edit user group service + dataUserGroup, err := lh.MdUserGroupServices.EditMdUsergroup(id, code, name) + if err != nil { + logger.Info("Error", + zap.Any("Error", err), + zap.Any("code", code), + zap.Any("name", name), + ) + newForm := dev_mdusergroupview.BodyFormUserGroup( + models.CustomTextFieldv2Prm{ + Label: "Kode User Group", + Name: "usergroupcode", + Placeholder: "Kode user group", + ErrorMsg: codeValidation, + Value: code, + Type: "text"}, + models.CustomTextFieldv2Prm{ + Label: "Nama User Group", + Name: "usergroupname", + Placeholder: "Nama user group", + ErrorMsg: nameValidation, + Value: name, + Type: "text"}, + models.CustomTextFieldv2Prm{ + Label: "Kode User Group", + Name: "usergroupid", + Placeholder: "Kode user group", + Type: "hidden", ID: "usergroupinputid"}, + dialogEditBodyID, dev_mdusergroupview.JsHideModal("")) + return utils.ViewMulti(c, []templ.Component{ + customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), + newForm}) + + } + logger.Info("ADD USER GROUP", + zap.Any("return", dataUserGroup), + zap.Any("code", code), + zap.Any("name", name), + ) + //get list user group for table + dataUserGroupList, totalPage, err := lh.MdUserGroupServices.GetListMdUserGroup(search, currPage, 5) + if err != nil { + defer logger.Sync() + logger.Info("ERROR GET USER GROUP", + zap.Any("error", err), + ) + fmt.Println(dataUserGroup) + return err + } + //table component + tableComponent := dev_mdusergroupview.TableUserGroup(dataUserGroupList, + tableID, + "", + "#"+dialogEditBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID") + + //pagination component + //Pagination + userGroupPaginationComponent := pagination.PaginationV2( + totalPage, + currPage, + "/dev/md/usergroupv2/changepage", + paginationID, + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID", + "#"+paginationID, + "outerHTML", "", "true", + ) + var retVal []templ.Component + newForm := dev_mdusergroupview.BodyFormUserGroup( + models.CustomTextFieldv2Prm{ + Label: "Kode User Group", + Name: "usergroupcode", + Placeholder: "Kode user group", + ErrorMsg: codeValidation, + Type: "text"}, + models.CustomTextFieldv2Prm{ + Label: "Nama User Group", + Name: "usergroupname", + Placeholder: "Nama user group", + ErrorMsg: nameValidation, + Type: "text"}, + models.CustomTextFieldv2Prm{ + Label: "Kode User Group", + Name: "usergroupid", + Placeholder: "Kode user group", + Type: "hidden", ID: "usergroupinputid"}, + dialogEditBodyID, dev_mdusergroupview.JsHideModal("#"+dialogEditID)) + toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil edit User group "+name, "success") + retVal = append(retVal, toastSuccess) + retVal = append(retVal, tableComponent) + retVal = append(retVal, userGroupPaginationComponent) + retVal = append(retVal, newForm) + return utils.ViewMulti(c, retVal) +} diff --git a/handlers/routes.go b/handlers/routes.go index 5675f99..e9836f0 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -219,8 +219,9 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) { dev.GET("/md/usergroupv2/filter", devMdUserGroupHandlers.HandleFilterMdUserGroup) dev.GET("/md/usergroupv2/changepage", devMdUserGroupHandlers.HandleChangePageMdUserGroup) dev.POST("/md/usergroupv2/closeaddform", devMdUserGroupHandlers.HandleCloseFormAdd) - dev.POST("/md/usergroupv2/closeeditform", devMdUserGroupHandlers.HandleCloseFormEdit) dev.POST("/md/usergroupv2/add", devMdUserGroupHandlers.HandleAddUserGroup) dev.GET("/md/usergroupv2/openedit", devMdUserGroupHandlers.HandleOpenEditForm) + dev.POST("/md/usergroupv2/closeeditform", devMdUserGroupHandlers.HandleCloseFormEdit) + dev.POST("/md/usergroupv2/edit", devMdUserGroupHandlers.HandleEditUserGroup) }