pindah dashboard_pic ke corp route

This commit is contained in:
2024-06-12 19:42:49 +07:00
parent a2fc463990
commit e6a5925588
12 changed files with 214 additions and 57 deletions

View File

@@ -1,4 +1,4 @@
package public_handlers
package corporate_handlers
import (
breadcrumadmin "cpone/component/breadcrumbadmin"
@@ -8,7 +8,7 @@ import (
"cpone/models"
"cpone/services"
"cpone/utils"
public_dashboardpic "cpone/views/public/dashboardpic"
corporate_dashboardpic "cpone/views/corporate/dashboardpic"
"strconv"
"github.com/a-h/templ"
@@ -64,7 +64,7 @@ func (ea *DashboardPicHandler) HandleShowEmployeeAnalyticScreen(c echo.Context)
logger.Info("Error get listing data", zap.Any("error", err), zap.Any("total", totalPage))
return err
}
listingcomponent := public_dashboardpic.ListingData(listingData, listID)
listingcomponent := corporate_dashboardpic.ListingData(listingData, listID)
paginationcomponent := pagination.PaginationV3(
totalPage,
@@ -74,21 +74,21 @@ func (ea *DashboardPicHandler) HandleShowEmployeeAnalyticScreen(c echo.Context)
"#listID, #paginationID, #searchID, #startdateID, #enddateID",
"#"+paginationID,
"outerHTML", "", "",
public_dashboardpic.BeforeRequestContent(),
public_dashboardpic.AfterRequestContent(),
corporate_dashboardpic.BeforeRequestContent(),
corporate_dashboardpic.AfterRequestContent(),
)
filtercomponent := public_dashboardpic.FilterListing(
filtercomponent := corporate_dashboardpic.FilterListing(
"/dev/dashboard_pic/filter",
"input changed delay:500ms",
"#searchID, #startdateID, #enddateID, #listID, #paginationID",
"outerHTML",
"#"+paginationID,
public_dashboardpic.BeforeRequestContent(),
public_dashboardpic.AfterRequestContent(),
corporate_dashboardpic.BeforeRequestContent(),
corporate_dashboardpic.AfterRequestContent(),
)
content := public_dashboardpic.DashboardPic(
content := corporate_dashboardpic.DashboardPic(
listID,
paginationID,
breadcrumb,
@@ -96,10 +96,10 @@ func (ea *DashboardPicHandler) HandleShowEmployeeAnalyticScreen(c echo.Context)
listingcomponent,
paginationcomponent,
)
css := public_dashboardpic.CSSDashboardPIC()
js := public_dashboardpic.JSDashboardPIC()
css := corporate_dashboardpic.CSSDashboardPIC()
js := corporate_dashboardpic.JSDashboardPIC()
view := public_dashboardpic.ShowDashboardPic(title, content, css, js, navbaruser, sidbaruser)
view := corporate_dashboardpic.ShowDashboardPic(title, content, css, js, navbaruser, sidbaruser)
return utils.View(c, view)
}
@@ -127,7 +127,7 @@ func (ea *DashboardPicHandler) HandlePagination(c echo.Context) error {
logger.Info("Error convert page param")
return err
}
listcomponent := public_dashboardpic.ListingData(listdata, listID)
listcomponent := corporate_dashboardpic.ListingData(listdata, listID)
paginationcomponent := pagination.PaginationV3(
totalPage,
@@ -137,8 +137,8 @@ func (ea *DashboardPicHandler) HandlePagination(c echo.Context) error {
"#listID, #paginationID, #searchID, #startdateID, #enddateID",
"#"+paginationID,
"outerHTML", "", "",
public_dashboardpic.BeforeRequestContent(),
public_dashboardpic.AfterRequestContent(),
corporate_dashboardpic.BeforeRequestContent(),
corporate_dashboardpic.AfterRequestContent(),
)
retVal = append(retVal, listcomponent)
@@ -162,15 +162,15 @@ func (ea *DashboardPicHandler) HandleFilter(c echo.Context) error {
return err
}
listcomponent := public_dashboardpic.ListingData(dataList, listID)
listcomponent := corporate_dashboardpic.ListingData(dataList, listID)
paginationcomponent := pagination.PaginationV3(
totalPage, 1,
"/dev/dashboard_pic/changepage",
paginationID,
"#listID, #paginationID, #searchID, #startdateID, #enddateID",
"#"+paginationID, "outerHTML", "", "",
public_dashboardpic.BeforeRequestContent(),
public_dashboardpic.AfterRequestContent(),
corporate_dashboardpic.BeforeRequestContent(),
corporate_dashboardpic.AfterRequestContent(),
)
var retval []templ.Component

View File

@@ -13,6 +13,7 @@ import (
type LoginService interface {
Login(username string, password string) (models.ResponseApi, error)
SignIn(username string, password string) (models.ResponseValid, models.ResponseInvalid, error)
}
func NewLoginHandler(us LoginService) *LoginHandler {
@@ -39,7 +40,7 @@ func (lh *LoginHandler) HandlerSignIn(c echo.Context) error {
password := c.FormValue("password")
defer logger.Sync()
logger.Info("PArams", zap.Any("username", username), zap.Any("pass", password))
logger.Info("Params", zap.Any("username", username), zap.Any("pass", password))
resp, err := lh.LoginService.Login(username, password)
if err != nil {
@@ -51,10 +52,16 @@ func (lh *LoginHandler) HandlerSignIn(c echo.Context) error {
}
defer logger.Sync()
url := "/one-ui"
// url := "/home"
if resp.Data.Type == "pic" {
var url string
switch resp.Data.Type {
case "cpone":
url = "/one-ui"
case "pic":
url = "/dashboard_pic"
case "patient":
url = "/home"
default:
url = "/one-ui"
}
user, err := json.Marshal(resp.Data.User)
@@ -83,7 +90,69 @@ func (lh *LoginHandler) HandlerSignIn(c echo.Context) error {
`
c.Response().Header().Set("HX-Trigger", "script")
// c.Response().Header().Set("HX-Redirect", url)
return c.String(http.StatusOK, storeLocal)
}
func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
logger, _ := zap.NewProduction()
username := c.FormValue("username")
password := c.FormValue("password")
defer logger.Sync()
logger.Info("Params", zap.Any("username", username), zap.Any("pass", password))
valid, invalid, err := lh.LoginService.SignIn(username, password)
if err != nil {
defer logger.Sync()
logger.Info("Error", zap.Error(err))
si := public_login.ShowLogin("Login ", public_login.MainLogin(), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, si)
}
if invalid.Status == "ERR" {
defer logger.Sync()
logger.Info("Error", zap.Error(err))
si := public_login.ShowLogin("Login ", public_login.MainLogin(), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, si)
}
var url string
switch valid.Data.Type {
case "cpone":
url = "/one-ui"
case "pic":
url = "/corp/dashboard_pic"
case "patient":
url = "/corp/dashboard_pat"
default:
url = "/one-ui"
}
user, err := json.Marshal(valid.Data.User)
if err != nil {
defer logger.Sync()
logger.Info("Error", zap.Error(err))
si := public_login.ShowLogin("Login ", public_login.MainLogin(), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, si)
}
userString := string(user)
store := `
<script>
console.log("store token");
const token = "` + valid.Data.Token + `";
const user = JSON.stringify(` + userString + `);
localStorage.setItem("token", token);
localStorage.setItem("user", user);
setTimeout(() => {
window.location.href = "` + url + `";
}, 100);
</script>
`
c.Response().Header().Set("HX-Trigger", "script")
return c.String(http.StatusOK, store)
}

View File

@@ -77,11 +77,6 @@ func SetupRoutesPublic(app *echo.Echo, appStore db.AppStore) {
public.POST("login/signin", loginHadlr.HandlerSignIn)
// dashboard_pic
dashbrdPicServ := public_services.NewDashboardPicServices(appStore)
dashbrdPicHandl := public_handlers.NewDashboardPicHandler(dashbrdPicServ)
public.GET("dashboard_pic", dashbrdPicHandl.HandleShowEmployeeAnalyticScreen)
public.GET("dashboard_pic/changepage", dashbrdPicHandl.HandlePagination)
public.GET("dashboard_pic/filter", dashbrdPicHandl.HandleFilter)
// kartu kontrol
publicKartuKontrolServices := public_services.NewServicesKartuKontrol(appStore)
@@ -108,6 +103,14 @@ func SetupRoutesCorporate(app *echo.Echo, appStore db.AppStore) {
l := corporate_services.NewServicesCompany(appStore)
lh := corporate_handlers.NewCompanyHandler(l)
public.GET("/company", lh.ShowCompany)
// dashboard_pic
dashbrdPicServ := corporate_services.NewDashboardPicServices(appStore)
dashbrdPicHandl := corporate_handlers.NewDashboardPicHandler(dashbrdPicServ)
public.GET("/dashboard_pic", dashbrdPicHandl.HandleShowEmployeeAnalyticScreen)
public.GET("/dashboard_pic/changepage", dashbrdPicHandl.HandlePagination)
public.GET("/dashboard_pic/filter", dashbrdPicHandl.HandleFilter)
patientHandler := corporate_handlers.NewPatientHandler(l)
public.GET("/patient", patientHandler.ShowPatient)
}