diff --git a/handlers/dev/md.groupresult.handlers.go b/handlers/dev/md.groupresult.handlers.go index 64abbcc..68319aa 100644 --- a/handlers/dev/md.groupresult.handlers.go +++ b/handlers/dev/md.groupresult.handlers.go @@ -631,7 +631,7 @@ func (lh *MdGroupResultHandler) HandleAddGroupResult(c echo.Context) error { dialogAddBodyID, dev_mdgroupresultview.JsHideModalGroupResult(""), ) coba := utils.ViewMulti(c, []templ.Component{ - customtoastv2.CustomToastV2Show("Error", "Error converting string to int", "error"), + customtoastv2.CustomToastV2Show("Error", "Error converting string to int", "danger"), test}) return coba } @@ -1292,3 +1292,165 @@ func (lh *MdGroupResultHandler) HandleEditGroupResult(c echo.Context) error { retVal = append(retVal, newForm) return utils.ViewMulti(c, retVal) } + +// SHOW DELETE FORM +func (lh *MdGroupResultHandler) HandleOpenDeleteForm(c echo.Context) error { + id := c.QueryParam("id") + dialogDeleteID := c.QueryParam("dialogDeleteID") + dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID") + + dataGroupList, err := lh.MdGroupResultServices.GetMdGroupResultByID(id) + + var flagPerTest string = "N" + var flagNonLab string = "N" + + if dataGroupList.Group_ResultFlagPerTest == "on" { + flagPerTest = "Y" + } + + if dataGroupList.Group_ResultFlagNonLab == "on" { + flagNonLab = "Y" + } + + if err != nil { + newForm := dev_mdgroupresultview.DeleteConfirmationBodyGroupResult( + models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "groupresultid"}, + dialogDeleteBodyID, "Apakah anda yakin menghapus group result berikut ?", + []string{"GROUP RESULT NAME", "RESULT FLAG PER TEST", "RESULT FLAG NON LAB", "RESULT RESUME MCU"}, + []string{"", "", "", ""}, + dev_mdgroupresultview.JsHideModalGroupResult("")) + return utils.ViewMulti(c, []templ.Component{customtoastv2.CustomToastV2Show("Error", "Get group result error", "danger"), newForm}) + } + newForm := dev_mdgroupresultview.DeleteConfirmationBodyGroupResult( + models.CustomTextFieldv2Prm{Type: "hidden", Value: strconv.Itoa(dataGroupList.Group_ResultID), Name: "groupresultid"}, + dialogDeleteBodyID, "Apakah anda yakin menghapus group result berikut ?", + []string{"GROUP RESULT NAME", "RESULT FLAG PER TEST", "RESULT FLAG NON LAB", "RESULT RESUME MCU"}, + []string{dataGroupList.Group_ResultName, flagPerTest, flagNonLab, dataGroupList.Group_ResultResumeMcu}, + dev_mdgroupresultview.JsShowModalGroupResult("#"+dialogDeleteID)) + return utils.View(c, newForm) +} + +// CLOSE DELETE FORM +func (lh *MdGroupResultHandler) HandleCloseFormDelete(c echo.Context) error { + dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID") + newForm := dev_mdgroupresultview.DeleteConfirmationBodyGroupResult( + models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "groupresultid"}, + dialogDeleteBodyID, "Apakah anda yakin menghapus group result berikut ?", + []string{"GROUP RESULT NAME", "RESULT FLAG PER TEST", "RESULT FLAG NON LAB", "RESULT RESUME MCU"}, + []string{"", "", "", ""}, + dev_mdgroupresultview.JsHideModalGroupResult("")) + return utils.View(c, newForm) +} + +// PROSES DELETE +func (lh *MdGroupResultHandler) HandleDeleteUserGroup(c echo.Context) error { + + logger, _ := zap.NewProduction() + defer logger.Sync() + + //prm form addusergroup + + id := c.FormValue("groupresultid") + 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") + dialogDeleteID := c.FormValue("dialogDeleteID") + dialogEditBodyID := c.FormValue("dialogEditBodyID") + dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID") + + currPage, err := strconv.Atoi(currPagePrm) + if err != nil { + return err + } + logger.Info("ADD USER GROUP PARAM", + + zap.Any("tableid", tableID), + zap.Any("search", search), + zap.Any("currpage", currPage), + ) + + //edit user group service + dataUserGroup, err := lh.MdGroupResultServices.DeleteMdGroupResult(id) + if err != nil { + logger.Info("Error", + zap.Any("Error", err), + ) + newForm := dev_mdgroupresultview.DeleteConfirmationBodyGroupResult( + models.CustomTextFieldv2Prm{Name: "groupresultid", Type: "hidden", Value: ""}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus group result berikut ?", + []string{"GROUP RESULT NAME", "RESULT FLAG PER TEST", "RESULT FLAG NON LAB", "RESULT RESUME MCU"}, + []string{"", "", "", ""}, + dev_mdgroupresultview.JsHideModalGroupResult("")) + return utils.ViewMulti(c, []templ.Component{ + customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"), + newForm}) + + } + logger.Info("ADD USER GROUP", + zap.Any("return", dataUserGroup), + ) + //get list user group for table + dataUserGroupList, totalPage, err := lh.MdGroupResultServices.GetListMdGroupResult(search, currPage, 5) + if err != nil { + defer logger.Sync() + logger.Info("ERROR GET USER GROUP", + zap.Any("error", err), + ) + fmt.Println(dataUserGroup) + return err + } + if len(dataUserGroupList) == 0 && totalPage > 1 { + currPage = currPage - 1 + dataUserGroupList, _, err = lh.MdGroupResultServices.GetListMdGroupResult(search, currPage, 5) + if err != nil { + defer logger.Sync() + logger.Info("ERROR GET USER GROUP", + zap.Any("error", err), + ) + return err + } + } + //table component + tableComponent := dev_mdgroupresultview.TableGroupResult(dataUserGroupList, + tableID, + "/dev/md/groupresultv2/openedit", + "#"+dialogEditBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "/dev/md/groupresultv2/opendelete", + "#"+dialogDeleteBodyID, + "outerHTML", + "#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID") + + //pagination component + //Pagination + userGroupPaginationComponent := pagination.PaginationV3( + totalPage, + currPage, + "/dev/md/groupresultv2/changepage", + paginationID, + "#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID", + "#"+paginationID, + "outerHTML", "", "true", + dev_mdgroupresultview.BeforeRequestContentMdGroupResult(), + dev_mdgroupresultview.AfterRequestContentMdGroupResult(), + ) + var retVal []templ.Component + newForm := dev_mdgroupresultview.DeleteConfirmationBodyGroupResult( + models.CustomTextFieldv2Prm{Name: "groupresultid", Type: "hidden", Value: ""}, + dialogDeleteBodyID, + "Apakah anda yakin menghapus group result berikut ?", + []string{"GROUP RESULT NAME", "RESULT FLAG PER TEST", "RESULT FLAG NON LAB", "RESULT RESUME MCU"}, + []string{"", "", "", ""}, + dev_mdgroupresultview.JsHideModalGroupResult("#"+dialogDeleteID)) + toastSuccess := customtoastv2.CustomToastV2Show("Success", "Berhasil delete group result ", "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 b37eb03..6508710 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -274,5 +274,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) { dev.GET("/md/groupresultv2/openedit", devMdGRhandlers.HandleOpenEditForm) dev.POST("/md/groupresultv2/closeeditform", devMdGRhandlers.HandleCloseFormEdit) dev.POST("/md/groupresultv2/edit", devMdGRhandlers.HandleEditGroupResult) - // dev.GET("/md/groupresultv2/opendelete", devMdUserGroupHandlers.HandleOpenDeleteForm) + dev.GET("/md/groupresultv2/opendelete", devMdGRhandlers.HandleOpenDeleteForm) + dev.POST("/md/groupresultv2/closedeleteform", devMdGRhandlers.HandleCloseFormDelete) + dev.POST("/md/groupresultv2/delete", devMdGRhandlers.HandleDeleteUserGroup) }