mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-23 14:55:42 +00:00
feat(BE): update approval flow to use head area instead of manager
This commit is contained in:
@@ -24,7 +24,7 @@ const (
|
|||||||
P_ExpenseUpdateOne = "lti.expense.update"
|
P_ExpenseUpdateOne = "lti.expense.update"
|
||||||
P_ExpenseGetOne = "lti.expense.detail"
|
P_ExpenseGetOne = "lti.expense.detail"
|
||||||
P_ExpenseDeleteOne = "lti.expense.delete"
|
P_ExpenseDeleteOne = "lti.expense.delete"
|
||||||
P_ExpenseApprovalManager = "lti.expense.approve.manager"
|
P_ExpenseApprovalHeadArea = "lti.expense.approve.head_area"
|
||||||
P_ExpenseApprovalFinance = "lti.expense.approve.finance"
|
P_ExpenseApprovalFinance = "lti.expense.approve.finance"
|
||||||
P_ExpenseApprovalUnitVicePresident = "lti.expense.approve.unit_vice_president"
|
P_ExpenseApprovalUnitVicePresident = "lti.expense.approve.unit_vice_president"
|
||||||
P_ExpenseCreateRealizations = "lti.expense.create.realization"
|
P_ExpenseCreateRealizations = "lti.expense.create.realization"
|
||||||
|
|||||||
@@ -229,8 +229,8 @@ func (u *ExpenseController) Approval(c *fiber.Ctx) error {
|
|||||||
|
|
||||||
path := c.Path()
|
path := c.Path()
|
||||||
approvalType := ""
|
approvalType := ""
|
||||||
if strings.Contains(path, "/approvals/manager") {
|
if strings.Contains(path, "/approvals/head-area") {
|
||||||
approvalType = "manager"
|
approvalType = "head-area"
|
||||||
} else if strings.Contains(path, "/approvals/finance") {
|
} else if strings.Contains(path, "/approvals/finance") {
|
||||||
approvalType = "finance"
|
approvalType = "finance"
|
||||||
} else if strings.Contains(path, "/approvals/unit-vice-president") {
|
} else if strings.Contains(path, "/approvals/unit-vice-president") {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ func ExpenseRoutes(v1 fiber.Router, u user.UserService, s expense.ExpenseService
|
|||||||
route.Patch("/:id", m.RequirePermissions(m.P_ExpenseUpdateOne), ctrl.UpdateOne)
|
route.Patch("/:id", m.RequirePermissions(m.P_ExpenseUpdateOne), ctrl.UpdateOne)
|
||||||
route.Delete("/:id", m.RequirePermissions(m.P_ExpenseDeleteOne), ctrl.DeleteOne)
|
route.Delete("/:id", m.RequirePermissions(m.P_ExpenseDeleteOne), ctrl.DeleteOne)
|
||||||
|
|
||||||
route.Post("/approvals/manager", m.RequirePermissions(m.P_ExpenseApprovalManager), ctrl.Approval)
|
route.Post("/approvals/head-area", m.RequirePermissions(m.P_ExpenseApprovalHeadArea), ctrl.Approval)
|
||||||
route.Post("/approvals/finance", m.RequirePermissions(m.P_ExpenseApprovalFinance), ctrl.Approval)
|
route.Post("/approvals/finance", m.RequirePermissions(m.P_ExpenseApprovalFinance), ctrl.Approval)
|
||||||
route.Post("/approvals/unit-vice-president", m.RequirePermissions(m.P_ExpenseApprovalUnitVicePresident), ctrl.Approval)
|
route.Post("/approvals/unit-vice-president", m.RequirePermissions(m.P_ExpenseApprovalUnitVicePresident), ctrl.Approval)
|
||||||
|
|
||||||
|
|||||||
@@ -1049,9 +1049,9 @@ func (s *expenseService) Approval(c *fiber.Ctx, req *validation.ApprovalRequest,
|
|||||||
}
|
}
|
||||||
|
|
||||||
var stepNumber approvalutils.ApprovalStep
|
var stepNumber approvalutils.ApprovalStep
|
||||||
if approvalType == "manager" {
|
if approvalType == "head-area" {
|
||||||
|
|
||||||
stepNumber = utils.ExpenseStepManager
|
stepNumber = utils.ExpenseStepHeadArea
|
||||||
if latestApproval.StepNumber != uint16(utils.ExpenseStepPengajuan) {
|
if latestApproval.StepNumber != uint16(utils.ExpenseStepPengajuan) {
|
||||||
currentStepName := utils.ExpenseApprovalSteps[approvalutils.ApprovalStep(latestApproval.StepNumber)]
|
currentStepName := utils.ExpenseApprovalSteps[approvalutils.ApprovalStep(latestApproval.StepNumber)]
|
||||||
return fiber.NewError(fiber.StatusBadRequest,
|
return fiber.NewError(fiber.StatusBadRequest,
|
||||||
@@ -1060,7 +1060,7 @@ func (s *expenseService) Approval(c *fiber.Ctx, req *validation.ApprovalRequest,
|
|||||||
} else if approvalType == "unit-vice-president" {
|
} else if approvalType == "unit-vice-president" {
|
||||||
|
|
||||||
stepNumber = utils.ExpenseStepUnitVicePresident
|
stepNumber = utils.ExpenseStepUnitVicePresident
|
||||||
if latestApproval.StepNumber != uint16(utils.ExpenseStepManager) {
|
if latestApproval.StepNumber != uint16(utils.ExpenseStepHeadArea) {
|
||||||
currentStepName := utils.ExpenseApprovalSteps[approvalutils.ApprovalStep(latestApproval.StepNumber)]
|
currentStepName := utils.ExpenseApprovalSteps[approvalutils.ApprovalStep(latestApproval.StepNumber)]
|
||||||
return fiber.NewError(fiber.StatusBadRequest,
|
return fiber.NewError(fiber.StatusBadRequest,
|
||||||
fmt.Sprintf("Cannot process at Unit Vice President step. Latest approval is at %s step. Expected previous step: Head Area", currentStepName))
|
fmt.Sprintf("Cannot process at Unit Vice President step. Latest approval is at %s step. Expected previous step: Head Area", currentStepName))
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ func (b *transferExpenseBridge) createExpenseViaService(
|
|||||||
actorID = 1
|
actorID = 1
|
||||||
}
|
}
|
||||||
approvalSvc := commonSvc.NewApprovalService(commonRepo.NewApprovalRepository(b.db))
|
approvalSvc := commonSvc.NewApprovalService(commonRepo.NewApprovalRepository(b.db))
|
||||||
if _, err := approvalSvc.CreateApproval(ctx, utils.ApprovalWorkflowExpense, uint(detail.Id), utils.ExpenseStepManager, &action, actorID, nil); err != nil {
|
if _, err := approvalSvc.CreateApproval(ctx, utils.ApprovalWorkflowExpense, uint(detail.Id), utils.ExpenseStepHeadArea, &action, actorID, nil); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if _, err := approvalSvc.CreateApproval(ctx, utils.ApprovalWorkflowExpense, uint(detail.Id), utils.ExpenseStepUnitVicePresident, &action, actorID, nil); err != nil {
|
if _, err := approvalSvc.CreateApproval(ctx, utils.ApprovalWorkflowExpense, uint(detail.Id), utils.ExpenseStepUnitVicePresident, &action, actorID, nil); err != nil {
|
||||||
|
|||||||
@@ -618,7 +618,7 @@ func (b *expenseBridge) createExpenseViaService(
|
|||||||
actorID = 1
|
actorID = 1
|
||||||
}
|
}
|
||||||
approvalSvc := commonSvc.NewApprovalService(commonRepo.NewApprovalRepository(b.db))
|
approvalSvc := commonSvc.NewApprovalService(commonRepo.NewApprovalRepository(b.db))
|
||||||
if _, err := approvalSvc.CreateApproval(ctx, utils.ApprovalWorkflowExpense, uint(detail.Id), utils.ExpenseStepManager, &action, actorID, nil); err != nil {
|
if _, err := approvalSvc.CreateApproval(ctx, utils.ApprovalWorkflowExpense, uint(detail.Id), utils.ExpenseStepHeadArea, &action, actorID, nil); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if _, err := approvalSvc.CreateApproval(ctx, utils.ApprovalWorkflowExpense, uint(detail.Id), utils.ExpenseStepUnitVicePresident, &action, actorID, nil); err != nil {
|
if _, err := approvalSvc.CreateApproval(ctx, utils.ApprovalWorkflowExpense, uint(detail.Id), utils.ExpenseStepUnitVicePresident, &action, actorID, nil); err != nil {
|
||||||
|
|||||||
@@ -356,7 +356,7 @@ var MarketingApprovalSteps = map[approvalutils.ApprovalStep]string{
|
|||||||
const (
|
const (
|
||||||
ApprovalWorkflowExpense approvalutils.ApprovalWorkflowKey = approvalutils.ApprovalWorkflowKey("EXPENSES")
|
ApprovalWorkflowExpense approvalutils.ApprovalWorkflowKey = approvalutils.ApprovalWorkflowKey("EXPENSES")
|
||||||
ExpenseStepPengajuan approvalutils.ApprovalStep = 1
|
ExpenseStepPengajuan approvalutils.ApprovalStep = 1
|
||||||
ExpenseStepManager approvalutils.ApprovalStep = 2
|
ExpenseStepHeadArea approvalutils.ApprovalStep = 2
|
||||||
ExpenseStepUnitVicePresident approvalutils.ApprovalStep = 3
|
ExpenseStepUnitVicePresident approvalutils.ApprovalStep = 3
|
||||||
ExpenseStepFinance approvalutils.ApprovalStep = 4
|
ExpenseStepFinance approvalutils.ApprovalStep = 4
|
||||||
ExpenseStepRealisasi approvalutils.ApprovalStep = 5
|
ExpenseStepRealisasi approvalutils.ApprovalStep = 5
|
||||||
@@ -365,7 +365,7 @@ const (
|
|||||||
|
|
||||||
var ExpenseApprovalSteps = map[approvalutils.ApprovalStep]string{
|
var ExpenseApprovalSteps = map[approvalutils.ApprovalStep]string{
|
||||||
ExpenseStepPengajuan: "Pengajuan",
|
ExpenseStepPengajuan: "Pengajuan",
|
||||||
ExpenseStepManager: "Approval Head Area",
|
ExpenseStepHeadArea: "Approval Head Area",
|
||||||
ExpenseStepUnitVicePresident: "Approval Business Unit Vice President",
|
ExpenseStepUnitVicePresident: "Approval Business Unit Vice President",
|
||||||
ExpenseStepFinance: "Approval Finance",
|
ExpenseStepFinance: "Approval Finance",
|
||||||
ExpenseStepRealisasi: "Realisasi",
|
ExpenseStepRealisasi: "Realisasi",
|
||||||
|
|||||||
Reference in New Issue
Block a user