diff --git a/auth/middleware.go b/auth/middleware.go new file mode 100644 index 0000000..1c9ad35 --- /dev/null +++ b/auth/middleware.go @@ -0,0 +1,7 @@ +package auth + +import "github.com/labstack/echo/v4/middleware" + +var IsLoggedIn = middleware.JWTWithConfig(middleware.JWTConfig{ + SigningKey: []byte("secret"), +}) diff --git a/handlers/corporate/dashboardpic.handlers.go b/handlers/corporate/dashboardpic.handlers.go index fb89c1b..af23f4b 100644 --- a/handlers/corporate/dashboardpic.handlers.go +++ b/handlers/corporate/dashboardpic.handlers.go @@ -35,11 +35,16 @@ func NewDashboardPicHandler(ea DashboardPicServices) *DashboardPicHandler { func (ea *DashboardPicHandler) HandleShowEmployeeAnalyticScreen(c echo.Context) error { logger, _ := zap.NewProduction() - title := "PT. Sadhana Abiyasa Sampoerna" + title := "PT. ABC" listID := utils.GenerateRandomID("listid") paginationID := utils.GenerateRandomID("paginationid") + // usertoken := c.Get("user").(*jwt.Token) + // claims := usertoken.Claims.(jwt.MapClaims) + // name := claims["M_UserEmail"].(string) + // logger.Info("fromtoken", zap.Any("name", name)) + user, err := services.GetUserLogin() if err != nil { defer logger.Sync() @@ -59,7 +64,7 @@ func (ea *DashboardPicHandler) HandleShowEmployeeAnalyticScreen(c echo.Context) sidbaruser := sidebaruserprofile.Navbaruserprofile(user) breadcrumb := breadcrumadmin.MainBreadcrumbAdminV1(dataBreadcrumb) - listingData, totalPage, err := ea.DashboardPicServices.ListingDashboardPic("", "", "", 1, 5) + listingData, totalPage, err := ea.DashboardPicServices.ListingDashboardPic("", "", "", 1, 10) if err != nil { defer logger.Sync() logger.Info("Error get listing data", zap.Any("error", err), zap.Any("total", totalPage)) @@ -122,7 +127,7 @@ func (ea *DashboardPicHandler) HandlePagination(c echo.Context) error { return err } - listdata, totalPage, err := ea.DashboardPicServices.ListingDashboardPic(search, startdate, enddate, page, 5) + listdata, totalPage, err := ea.DashboardPicServices.ListingDashboardPic(search, startdate, enddate, page, 10) if err != nil { defer logger.Sync() logger.Info("Error convert page param") diff --git a/handlers/corporate/mcudetail.handlers.go b/handlers/corporate/mcudetail.handlers.go index e517822..56d2d2f 100644 --- a/handlers/corporate/mcudetail.handlers.go +++ b/handlers/corporate/mcudetail.handlers.go @@ -15,7 +15,7 @@ import ( ) type McuDetailServices interface { - GetBreadcrumb(title string) (models.BreadCrumbV1, error) + GetBreadcrumb(id string) (models.BreadCrumbV1, error) } type McuDetailHandler struct { @@ -30,7 +30,7 @@ func NewMcuDetailHandler(mcud McuDetailServices) *McuDetailHandler { func (mcud *McuDetailHandler) HandlerShowMcuDetailScreen(c echo.Context) error { logger, _ := zap.NewProduction() - title := "PT. Sadhana Abiyasa Sampoerna" + title := "PT. ABC" id := c.Param("id") logger.Info("params", zap.Any("id", id)) @@ -42,7 +42,7 @@ func (mcud *McuDetailHandler) HandlerShowMcuDetailScreen(c echo.Context) error { return err } - dataBreadcrumb, err := mcud.McuDetailServices.GetBreadcrumb(title) + dataBreadcrumb, err := mcud.McuDetailServices.GetBreadcrumb(id) if err != nil { defer logger.Sync() logger.Info("Error breadcrumb corp", zap.Any("error", err)) diff --git a/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go b/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go index 74b6cb1..7421eab 100644 --- a/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go +++ b/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go @@ -37,7 +37,7 @@ func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) id := c.Param("id") logger.Info("Params", zap.Any("id", id)) - dataTable, totalPage, err := tdp.TabDaftarPesertaServices.GetListMcuDaftarPeserta(id, 1, 5) + dataTable, totalPage, err := tdp.TabDaftarPesertaServices.GetListMcuDaftarPeserta(id, 1, 10) if err != nil { return err } @@ -133,7 +133,7 @@ func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error { return err } - tableData, totalPage, err := tdp.TabDaftarPesertaServices.GetListMcuDaftarPeserta(id, page, 5) + tableData, totalPage, err := tdp.TabDaftarPesertaServices.GetListMcuDaftarPeserta(id, page, 10) if err != nil { return err } diff --git a/handlers/corporate/patient.handlers.go b/handlers/corporate/patient.handlers.go index 9da660b..b479979 100644 --- a/handlers/corporate/patient.handlers.go +++ b/handlers/corporate/patient.handlers.go @@ -58,7 +58,7 @@ func (ph *PatientHandler) LoadLocalData(c echo.Context) error { defer logger.Sync() breadcrumb := breadcrumadmin.MainBreadcrumbAdminV1(dataBreadcrumb) - listingdata, totalPage, err := ph.PatientService.GetListtingData(userEmail, 1, 5) + listingdata, totalPage, err := ph.PatientService.GetListtingData(userEmail, 1, 10) if err != nil { defer logger.Sync() logger.Info("error get listing data", zap.Any("error", err), zap.Any("total", totalPage)) @@ -174,7 +174,7 @@ func (ph *PatientHandler) HandleChangePage(c echo.Context) error { return err } - listData, totalPage, err := ph.PatientService.GetListtingData(userEmail, page, 5) + listData, totalPage, err := ph.PatientService.GetListtingData(userEmail, page, 10) if err != nil { defer logger.Sync() logger.Info("error get data listing") diff --git a/handlers/public/login.handlers.go b/handlers/public/login.handlers.go index aef8f8e..fadab93 100644 --- a/handlers/public/login.handlers.go +++ b/handlers/public/login.handlers.go @@ -87,12 +87,45 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error { const user = JSON.stringify(` + userString + `); localStorage.setItem("token", token); localStorage.setItem("user", user); - + + htmx.on("htmx:configRequest", (e)=> { + e.detail.headers["Authentication"] = "Bearer ` + resp.Data.Token + `" + }) + setTimeout(() => { - window.location.href = "` + url + `"; - }, 100); + htmx.ajax('GET', '/login/redirect?url=` + url + `') + }, 500) + + // document.body.addEventListener('htmx:configRequest', function(evt) { + // evt.detail.headers['Authentication'] = "Bearer: " + getJWT(); + // console.log("running"); + // }); + + // setTimeout(() => { + // window.location.href = "` + url + `"; + // }, 100); + + // document.body.addEventListener('htmx:configRequest', function(evt) { + // const token = localStorage.getItem("token"); + // if (token) { + // evt.detail.headers['Authorization'] = "Bearer " + token; + // } + // }); + + // document.body.hxTrigger({ "hx-redirect": "` + url + `" }); ` c.Response().Header().Set("HX-Trigger", "script") return c.String(http.StatusOK, store) } + +func (lh *LoginHandler) HandleRedirect(c echo.Context) error { + logger, _ := zap.NewProduction() + url := c.QueryParam("url") + token := c.Request().Header.Get("Authentication") + logger.Info("params", zap.Any("url", url), zap.Any("token", token)) + + c.Response().Header().Set("Authentication", token) + c.Response().Header().Set("HX-Redirect", url) + return c.String(http.StatusOK, url) +} diff --git a/handlers/routes.go b/handlers/routes.go index 17aea1f..cab47b6 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -77,6 +77,7 @@ func SetupRoutesPublic(app *echo.Echo, appStore db.AppStore) { loginHadlr := public_handlers.NewLoginHandler(loginServ) public.GET("login", loginHadlr.HandlerShowLogin) public.POST("login/signin", loginHadlr.HandleSignIn) + public.GET("login/redirect", loginHadlr.HandleRedirect) // kartu kontrol publicKartuKontrolServices := public_services.NewServicesKartuKontrol(appStore) diff --git a/services/corporate/dashboardpic.services.go b/services/corporate/dashboardpic.services.go index 5327809..e879a58 100644 --- a/services/corporate/dashboardpic.services.go +++ b/services/corporate/dashboardpic.services.go @@ -26,7 +26,7 @@ func (ea *DashboardPicServices) GetEmployeeAnalyticBreadcrumb(title string) (mod Item: []models.ItemBreadCrumbV1{ { Item: "Dashboard", - Url: "/dev/dashboard", + Url: "/corp/dashboard_pic", }, { Item: "Employee Health Medical Analytic", diff --git a/services/corporate/mcudetail.services.go b/services/corporate/mcudetail.services.go index 2d452e3..db4ac27 100644 --- a/services/corporate/mcudetail.services.go +++ b/services/corporate/mcudetail.services.go @@ -3,6 +3,7 @@ package corporate_services import ( "cpone/db" "cpone/models" + dbx "cpone/package/database" ) type McuDetailServices struct { @@ -15,9 +16,11 @@ func NewMcuDetailServices(uStore db.AppStore) *McuDetailServices { } } -func (mcud *McuDetailServices) GetBreadcrumb(title string) (models.BreadCrumbV1, error) { +func (mcud *McuDetailServices) GetBreadcrumb(id string) (models.BreadCrumbV1, error) { + var mcu models.DashboardPic + breadcrumb := models.BreadCrumbV1{ - Title: title, + Title: "", Item: []models.ItemBreadCrumbV1{ { Item: "Dashboard", @@ -25,13 +28,38 @@ func (mcud *McuDetailServices) GetBreadcrumb(title string) (models.BreadCrumbV1, }, { Item: "Employee Health Medical Analytic", - Url: "/dev/employeeanalytic/", + Url: "/corp/dashboard_pic", }, { - Item: title, + Item: "", Url: "", }, }, } + + q := ` + SELECT + Mgm_McuID, + Mgm_McuLabel, + Mgm_McuFlagRelasiBayarSendiri, + Mgm_McuBisaTambahPemeriksaan, + Mgm_McuCorporateID, + Mgm_McuNumber, + Mgm_McuNumberNational, + Mgm_McuNote, + DATE_FORMAT(Mgm_McuStartDate, '%d-%m-%Y') AS Mgm_McuStartDate, + DATE_FORMAT(Mgm_McuEndDate, '%d-%m-%Y') AS Mgm_McuEndDate, + Mgm_McuIsActive + FROM mgm_mcu + WHERE Mgm_McuIsActive = 'Y' + AND Mgm_McuID = ? + ` + if err := dbx.Handlex.Get(&mcu, q, id); err != nil { + return breadcrumb, err + } + + breadcrumb.Title = mcu.Mgm_McuLabel + breadcrumb.Item[2].Item = mcu.Mgm_McuLabel + return breadcrumb, nil } diff --git a/views/corporate/dashboardpic/listingdashboardpic.templ b/views/corporate/dashboardpic/listingdashboardpic.templ index 75763c0..a99fa64 100644 --- a/views/corporate/dashboardpic/listingdashboardpic.templ +++ b/views/corporate/dashboardpic/listingdashboardpic.templ @@ -7,7 +7,7 @@ templ ListingData( data []models.DashboardPic, listID string, ) { -
+
for i, d := range data { diff --git a/views/corporate/dashboardpic/listingdashboardpic_templ.go b/views/corporate/dashboardpic/listingdashboardpic_templ.go index 377047d..a03a7a1 100644 --- a/views/corporate/dashboardpic/listingdashboardpic_templ.go +++ b/views/corporate/dashboardpic/listingdashboardpic_templ.go @@ -42,7 +42,7 @@ func ListingData( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"align-items-center pt-8 flex-column\" hx-swap-oob=\"true\">
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"align-items-center py-8 flex-column\" hx-swap-oob=\"true\">
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/views/corporate/mcu/mcutab/tabledaftarpeserta.templ b/views/corporate/mcu/mcutab/tabledaftarpeserta.templ index 8332ab9..f4b5f2d 100644 --- a/views/corporate/mcu/mcutab/tabledaftarpeserta.templ +++ b/views/corporate/mcu/mcutab/tabledaftarpeserta.templ @@ -24,7 +24,7 @@ templ TableDaftarPeserta( ) {
@tablecomponent.TableV3([]string{"NOLAB", "NAMA", "JENIS KELAMIN", "UMUR", "KESIMPULAN", "AKSI"}, - []string{"10%","20%","10%","10%","30%","20%"}, + []string{"15%","20%","10%","10%","30%","15%"}, ItemRow(data, hxGet, hxTarget, @@ -97,15 +97,15 @@ templ ItemAction( > - - - - - - + // + // + // + // + // + //
} \ No newline at end of file diff --git a/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go b/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go index edcced6..a7f0c69 100644 --- a/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go +++ b/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go @@ -103,7 +103,7 @@ func TableDaftarPeserta( return templ_7745c5c3_Err } templ_7745c5c3_Err = tablecomponent.TableV3([]string{"NOLAB", "NAMA", "JENIS KELAMIN", "UMUR", "KESIMPULAN", "AKSI"}, - []string{"10%", "20%", "10%", "10%", "30%", "20%"}, + []string{"15%", "20%", "10%", "10%", "30%", "15%"}, ItemRow(data, hxGet, hxTarget, @@ -298,7 +298,7 @@ func ItemAction( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/views/corporate/mcu/mcutabview.templ b/views/corporate/mcu/mcutabview.templ index 898d039..fb5dadc 100644 --- a/views/corporate/mcu/mcutabview.templ +++ b/views/corporate/mcu/mcutabview.templ @@ -26,6 +26,9 @@ templ TabViewMcuDetail( +
@@ -52,5 +55,8 @@ templ TabViewMcuDetail(
+
+ +
} \ No newline at end of file diff --git a/views/corporate/mcu/mcutabview_templ.go b/views/corporate/mcu/mcutabview_templ.go index 5decf58..f4a7f10 100644 --- a/views/corporate/mcu/mcutabview_templ.go +++ b/views/corporate/mcu/mcutabview_templ.go @@ -51,14 +51,14 @@ func TabViewMcuDetail( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-target=\"#tabdaftarpeserta\">Daftar Peserta
Daftar Peserta
  • Executive Summary
  • ") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"application/pdf\" width=\"100%\" height=\"100%\">
    ") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/views/public/login/login.templ b/views/public/login/login.templ index 79a9572..8058e20 100644 --- a/views/public/login/login.templ +++ b/views/public/login/login.templ @@ -94,6 +94,14 @@ templ CssLogin() { templ JsLogin() { + } templ ShowLogin(title string, cmp templ.Component, css templ.Component, js templ.Component) { diff --git a/views/public/login/login_templ.go b/views/public/login/login_templ.go index 1d9ea00..d244b06 100644 --- a/views/public/login/login_templ.go +++ b/views/public/login/login_templ.go @@ -107,7 +107,7 @@ func JsLogin() templ.Component { templ_7745c5c3_Var3 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err }