Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -527,7 +527,7 @@ func InitRoutes(pgDB *sql.DB, mssql *sql.DB, ml *mailer.GraphMailer) *mux.Router
|
|||||||
{"/api/order/check/{id}", "GET", "view", routes.OrderExistsHandler(mssql)},
|
{"/api/order/check/{id}", "GET", "view", routes.OrderExistsHandler(mssql)},
|
||||||
{"/api/order/validate", "POST", "insert", routes.ValidateOrderHandler(mssql)},
|
{"/api/order/validate", "POST", "insert", routes.ValidateOrderHandler(mssql)},
|
||||||
{"/api/order/pdf/{id}", "GET", "export", routes.OrderPDFHandler(mssql)},
|
{"/api/order/pdf/{id}", "GET", "export", routes.OrderPDFHandler(mssql)},
|
||||||
{"/api/order/send-market-mail", "POST", "update", routes.SendOrderMarketMailHandler(pgDB, mssql, ml)},
|
{"/api/order/send-market-mail", "POST", "view", routes.SendOrderMarketMailHandler(pgDB, mssql, ml)},
|
||||||
{"/api/order-inventory", "GET", "view", http.HandlerFunc(routes.GetOrderInventoryHandler)},
|
{"/api/order-inventory", "GET", "view", http.HandlerFunc(routes.GetOrderInventoryHandler)},
|
||||||
{"/api/orderpricelistb2b", "GET", "view", routes.GetOrderPriceListB2BHandler(pgDB, mssql)},
|
{"/api/orderpricelistb2b", "GET", "view", routes.GetOrderPriceListB2BHandler(pgDB, mssql)},
|
||||||
{"/api/min-price", "GET", "view", routes.GetOrderPriceListB2BHandler(pgDB, mssql)},
|
{"/api/min-price", "GET", "view", routes.GetOrderPriceListB2BHandler(pgDB, mssql)},
|
||||||
|
|||||||
@@ -3,6 +3,20 @@ import api from 'src/services/api'
|
|||||||
|
|
||||||
let lastRequestId = 0
|
let lastRequestId = 0
|
||||||
|
|
||||||
|
const ACTION_CANONICAL = {
|
||||||
|
view: 'read',
|
||||||
|
insert: 'write'
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeToken(v) {
|
||||||
|
return String(v || '').toLowerCase().trim()
|
||||||
|
}
|
||||||
|
|
||||||
|
function canonicalAction(v) {
|
||||||
|
const key = normalizeToken(v)
|
||||||
|
return ACTION_CANONICAL[key] || key
|
||||||
|
}
|
||||||
|
|
||||||
export const useRoleDeptPermissionListStore = defineStore('roleDeptPermissionList', {
|
export const useRoleDeptPermissionListStore = defineStore('roleDeptPermissionList', {
|
||||||
state: () => ({
|
state: () => ({
|
||||||
modules: [],
|
modules: [],
|
||||||
@@ -47,10 +61,15 @@ export const useRoleDeptPermissionListStore = defineStore('roleDeptPermissionLis
|
|||||||
: []
|
: []
|
||||||
|
|
||||||
this.moduleActions = Array.isArray(payload?.module_actions)
|
this.moduleActions = Array.isArray(payload?.module_actions)
|
||||||
? payload.module_actions.map((a) => ({
|
? payload.module_actions
|
||||||
module_code: String(a.module_code || '').toLowerCase().trim(),
|
.map((a) => ({
|
||||||
action: String(a.action || '').toLowerCase().trim()
|
module_code: normalizeToken(a.module_code),
|
||||||
})).filter((a) => a.module_code && a.action)
|
action: canonicalAction(a.action)
|
||||||
|
}))
|
||||||
|
.filter((a) => a.module_code && a.action)
|
||||||
|
.filter((a, idx, arr) =>
|
||||||
|
arr.findIndex((x) => x.module_code === a.module_code && x.action === a.action) === idx
|
||||||
|
)
|
||||||
: []
|
: []
|
||||||
|
|
||||||
const rawRows = Array.isArray(payload?.rows)
|
const rawRows = Array.isArray(payload?.rows)
|
||||||
@@ -63,7 +82,11 @@ export const useRoleDeptPermissionListStore = defineStore('roleDeptPermissionLis
|
|||||||
: {}
|
: {}
|
||||||
const flags = {}
|
const flags = {}
|
||||||
Object.keys(rawFlags).forEach((k) => {
|
Object.keys(rawFlags).forEach((k) => {
|
||||||
flags[String(k).toLowerCase().trim()] = Boolean(rawFlags[k])
|
const [moduleRaw, actionRaw] = normalizeToken(k).split('|')
|
||||||
|
if (!moduleRaw || !actionRaw) return
|
||||||
|
const action = canonicalAction(actionRaw)
|
||||||
|
const key = `${moduleRaw}|${action}`
|
||||||
|
flags[key] = Boolean(flags[key]) || Boolean(rawFlags[k])
|
||||||
})
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
Reference in New Issue
Block a user