step 4 : delete group result

This commit is contained in:
sindhu
2024-05-25 18:32:07 +07:00
parent eaabf29fda
commit cd0d3aee08
3 changed files with 191 additions and 11 deletions

View File

@@ -11,6 +11,7 @@ import (
globalservices "cpone/services"
"cpone/utils"
groupresult "cpone/views/dev/groupresult"
mastermenuusergroup "cpone/views/dev/mastermenuusergroup"
"fmt"
"strconv"
"strings"
@@ -21,14 +22,10 @@ import (
)
type GroupResultService interface {
// GetUserGroup() ([]models.UserGroup, error)
GetGroupResultByIDV1(id string) (models.GroupResult, error)
// try
// GetListMasterUserGroup() ([]models.UserGroupV1, error)
GetListBreadCrumb(title string) (models.BreadCrumbV1, error)
// AddUserGroup(code string, name string) (models.UserGroupV1, error)
EditGroupResult(id string, groupresultname string, groupresultflagpertest string, groupresultflagnonlab string, groupresultresumemcu string) (models.GroupResult, error)
// DeleteUserGroup(id string) (models.UserGroupV1, error)
DeleteGroupResult(id string) (models.GroupResult, error)
GetListGroupResult(search string, currentPage int, rowPerPage int) ([]models.GroupResult, int, error)
GetGroupResultResumeMcu() ([]models.GroupResultResumeMcu, error)
AddGroupResult(groupresultname string, groupresultflagpertest string, groupresultflagnonlab string, groupresultresumemcu string) (models.GroupResult, error)
@@ -83,7 +80,7 @@ func (lh *GroupResultHandler) HandlerShowGroupResultPaginationV1(c echo.Context)
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"/dev/usergroupshowdeleteform",
"/dev/groupresultshowdeleteform",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
@@ -406,7 +403,26 @@ func (lh *GroupResultHandler) HandlerShowGroupResultV1(c echo.Context) error {
})
//Component modal delete usergroup
modalDeletecomponent := groupresult.EmptyDiv1()
// modalDeletecomponent := groupresult.EmptyDiv1()
//Component modal delete usergroup
modalDeletecomponent := groupresult.GroupResultForm(models.GroupResultFormComponent{
IDComponent: "formgroupresultdelete",
Link: "/dev/groupresult/delete",
HxTarget: "#" + dialogdeleteBodyID,
HxSwap: "outerHTML",
HxInclude: "#tableID, #paginationID, #searchID,#dialogDeleteBodyID, #dialogDeleteID, #" + searchID + ", #currpage" + paginationID,
ModalID: dialogdeleteID,
ModalTitle: "Delete-User Group",
DialogBody: groupresult.DeleteConfirmationBody(
models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "groupresultid"},
dialogdeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
[]string{"GROUP RESULT NAME", "RESULT FLAG PER TEST", "RESULT FLAG NON LAB", "RESULT RESUME MCU"},
[]string{"", "", "", ""},
groupresult.HandleJSModalAddGR(""),
),
DialogAction: groupresult.DialogNewActionV1("/dev/usergrouphandlecloseformdelete", "#"+dialogdeleteBodyID, "outerHTML", "#"+dialogdeleteID),
ButtonCLose: groupresult.BtnCloseNewV1("/dev/usergrouphandlecloseformdelete", "#"+dialogdeleteBodyID, "outerHTML", "#"+dialogdeleteID),
})
//table listing user group component
contentUserGroupComponent := groupresult.TableGroupResult(
@@ -415,7 +431,7 @@ func (lh *GroupResultHandler) HandlerShowGroupResultV1(c echo.Context) error {
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"/dev/usergroupshowdeleteform",
"/dev/groupresultshowdeleteform",
"#"+dialogdeleteBodyID,
"outerHTML",
"#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
@@ -754,7 +770,7 @@ func (lh *GroupResultHandler) AddGroupResult(c echo.Context) error {
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"/dev/usergroupshowdeleteform",
"/dev/groupresultshowdeleteform",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
@@ -804,7 +820,7 @@ func (lh *GroupResultHandler) HandlerShowGroupResultSearchV1(c echo.Context) err
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"/dev/usergroupshowdeleteform",
"/dev/groupresultshowdeleteform",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
@@ -1207,7 +1223,7 @@ func (lh *GroupResultHandler) EditGroupResult(c echo.Context) error {
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"/dev/usergroupshowdeleteform",
"/dev/groupresultshowdeleteform",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
@@ -1224,3 +1240,135 @@ func (lh *GroupResultHandler) EditGroupResult(c echo.Context) error {
// time.Sleep(20 * time.Second)
return utils.ViewMulti(c, retval)
}
// FORM DELETE SHOW
func (lh *GroupResultHandler) HandleDeleteForm(c echo.Context) error {
id := c.QueryParam("id")
dialogDeleteID := c.QueryParam("dialogDeleteID")
dialogDeleteBodyID := c.QueryParam("dialogDeleteBodyID")
dataGroupList, err := lh.GroupResultService.GetGroupResultByIDV1(id)
if err != nil {
// test := mastermenuusergrouptryandy.DialogNewBody(code, name, "", "Name cannot empty")
test := groupresult.DeleteConfirmationBody(
models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "groupresultid"},
dialogDeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
[]string{"GROUP RESULT NAME", "RESULT FLAG PER TEST", "RESULT FLAG NON LAB", "RESULT RESUME MCU"},
[]string{"", "", "", ""},
groupresult.HandleJSModalAddGR(""),
)
coba := utils.ViewMulti(c, []templ.Component{
customtoastv2.CustomToastV2Show("Error", err.Error(), "danger"),
test})
return coba
}
form := groupresult.DeleteConfirmationBody(
models.CustomTextFieldv2Prm{Type: "hidden", Value: strconv.Itoa(dataGroupList.Group_ResultID), Name: "groupresultid"},
dialogDeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
[]string{"GROUP RESULT NAME", "RESULT FLAG PER TEST", "RESULT FLAG NON LAB", "RESULT RESUME MCU"},
[]string{dataGroupList.Group_ResultName, dataGroupList.Group_ResultFlagPerTest, dataGroupList.Group_ResultFlagNonLab, dataGroupList.Group_ResultResumeMcu},
groupresult.HandleJSModalAddGRShow("#"+dialogDeleteID),
)
coba := utils.ViewMulti(c, []templ.Component{form})
return coba
}
// CLOSE FORM DELETE
func (lh *GroupResultHandler) HandleCloseFormDelete(c echo.Context) error {
dialogDeleteID := c.FormValue("dialogDeleteID")
dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
form := groupresult.DeleteConfirmationBody(
models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "groupresultid"},
dialogDeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
[]string{"GROUP RESULT NAME", "RESULT FLAG PER TEST", "RESULT FLAG NON LAB", "RESULT RESUME MCU"},
[]string{"", "", "", ""},
groupresult.HandleJSModalAddGR("#"+dialogDeleteID))
return utils.View(c, form)
}
// PROSES DELETE
func (lh *GroupResultHandler) DeleteGroupResult(c echo.Context) error {
logger, _ := zap.NewProduction()
defer logger.Sync()
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)
dialogDeleteID := c.FormValue("dialogDeleteID")
dialogDeleteBodyID := c.FormValue("dialogDeleteBodyID")
// dialogEditID := c.FormValue("dialogEditID")
dialogEditBodyID := c.FormValue("dialogEditBodyID")
currPage, err := strconv.Atoi(currPagePrm)
if err != nil {
return err
}
dataGrupResult, err := lh.GroupResultService.DeleteGroupResult(id)
if err != nil {
logger.Info("Error",
zap.Any("Error", err),
zap.Any("prm", id),
)
return err
}
logger.Info("DELETE USER GROUP handler",
zap.Any("return", dataGrupResult),
zap.Any("prm", id),
)
dataGroupList, totalpage, err := lh.GroupResultService.GetListGroupResult(search, currPage, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR GET USER GROUP",
zap.Any("error", err),
)
return err
}
newForm := mastermenuusergroup.DeleteConfirmationBody(
models.CustomTextFieldv2Prm{Type: "hidden", Value: "0", Name: "usergroupid"},
dialogDeleteBodyID, "Apakah anda yakin menghapus user group berikut ?",
[]string{"Kode", "User Group"},
[]string{"", ""},
mastermenuusergroup.HandleJSModalAddUG("#"+dialogDeleteID),
)
if len(dataGroupList) == 0 && totalpage > 1 {
currPage = currPage - 1
dataGroupList, _, err = lh.GroupResultService.GetListGroupResult(search, currPage, 5)
if err != nil {
defer logger.Sync()
logger.Info("ERROR GET GROUP RESULT",
zap.Any("error", err),
)
return err
}
}
contentUserGroupComponent := groupresult.TableGroupResult(
dataGroupList, tableID,
"/dev/groupresultshoweditform",
"#"+dialogEditBodyID,
"outerHTML",
"#dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"/dev/groupresultshowdeleteform",
"#"+dialogDeleteBodyID,
"outerHTML",
"#dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #dialogEditID")
groupResultPaginationComponent := pagination.PaginationV2(totalpage,
currPage,
"/dev/groupresultv1pagination",
paginationID,
"#tableID, #searchID, #"+searchID+", #paginationID, #dialogEditBodyID, #dialogEditID, #dialogDeleteBodyID, #dialogDeleteID",
"#"+paginationID, "outerHTML", "", "true")
toastSuccess := customtoastv2.CustomToastV2Show("Success", "Success delete group result ", "success")
retval := []templ.Component{toastSuccess, contentUserGroupComponent, groupResultPaginationComponent, newForm}
// time.Sleep(20 * time.Second)
return utils.ViewMulti(c, retval)
}

View File

@@ -241,8 +241,11 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
dev.POST("/groupresulthandlecloseform", devGRhandlers.HandleCloseForm)
dev.POST("/groupresulthandlecloseformedit", devGRhandlers.HandleCloseFormEdit)
dev.GET("/groupresultshoweditform", devGRhandlers.HandleEditForm)
dev.GET("/groupresultshowdeleteform", devGRhandlers.HandleDeleteForm)
// dev.GET("/groupresultshowdeleteform", devGRhandlers.HandleDeleteForm)
// form add
dev.POST("/groupresult/add", devGRhandlers.AddGroupResult)
dev.POST("/groupresult/edit", devGRhandlers.EditGroupResult)
dev.POST("/groupresult/delete", devGRhandlers.DeleteGroupResult)
}

View File

@@ -847,3 +847,32 @@ func (ug *ServicesGroupResult) EditGroupResult(id string, groupresultname string
}
return data, nil
}
// DELETE DATA
func (ug *ServicesGroupResult) DeleteGroupResult(id string) (models.GroupResult, error) {
logger, _ := zap.NewProduction()
var data models.GroupResult
qry := `UPDATE group_result
SET Group_ResultIsActive = 'N'
WHERE Group_ResultID = ?;`
// time.Sleep(5 * time.Second)
rst := dbx.Handlex.MustExec(qry, id)
_, err := rst.RowsAffected()
if err != nil {
defer logger.Sync()
logger.Error("Error delete group result",
zap.String("id", id),
)
return data, fmt.Errorf("QUERY_FAILED")
}
data, err = ug.GetGroupResultByIDV1(id)
if err != nil {
defer logger.Sync()
logger.Error("Error get group result by id",
zap.String("id", id),
)
return data, fmt.Errorf("QUERY_FAILED")
}
return data, nil
}