fix: order workbench modules
This commit is contained in:
@@ -1262,13 +1262,13 @@ func createIMWorkbenchTables(tx *sql.Tx) error {
|
||||
_, err := tx.Exec(
|
||||
`INSERT INTO im_workbench_apps(code,name,route,sort_order,unread_key,enabled,permission)
|
||||
VALUES
|
||||
('organization','组织架构','/organization',10,'organization',1,'enabled'),
|
||||
('attendance','打卡','/attendance',20,'attendance',1,'enabled'),
|
||||
('meetings','会议通知','/meetings',30,'meetings',1,'enabled'),
|
||||
('meeting_notes','会议笔记','/meeting-notes',35,'',1,'enabled'),
|
||||
('daily_reports','日报','/reports/daily',40,'daily_reports',1,'enabled'),
|
||||
('monthly_reports','月报','/reports/monthly',50,'monthly_reports',1,'enabled'),
|
||||
('executive_mailbox','总经理信箱','/executive-mailbox',60,'executive_mailbox',1,'enabled')
|
||||
('attendance','打卡','/attendance',10,'attendance',1,'enabled'),
|
||||
('monthly_reports','月报','/reports/monthly',20,'monthly_reports',1,'enabled'),
|
||||
('daily_reports','日报','/reports/daily',30,'daily_reports',1,'enabled'),
|
||||
('organization','部门框架','/organization',40,'organization',1,'enabled'),
|
||||
('executive_mailbox','举报信箱','/executive-mailbox',50,'executive_mailbox',1,'enabled'),
|
||||
('meetings','会议通知','/meetings',60,'meetings',1,'enabled'),
|
||||
('meeting_notes','会议笔记','/meeting-notes',70,'',1,'enabled')
|
||||
ON DUPLICATE KEY UPDATE
|
||||
name=VALUES(name),
|
||||
route=VALUES(route),
|
||||
@@ -1628,7 +1628,7 @@ func ensureIMMeetingNotesTables(db *sqlx.DB) error {
|
||||
return err
|
||||
}
|
||||
_, err := db.Exec(`INSERT INTO im_workbench_apps(code,name,route,sort_order,unread_key,enabled,permission)
|
||||
VALUES('meeting_notes','会议笔记','/meeting-notes',35,'',1,'enabled')
|
||||
VALUES('meeting_notes','会议笔记','/meeting-notes',70,'',1,'enabled')
|
||||
ON DUPLICATE KEY UPDATE name=VALUES(name),route=VALUES(route),sort_order=VALUES(sort_order),unread_key=VALUES(unread_key),updated_at=CURRENT_TIMESTAMP(3)`)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -6844,7 +6844,7 @@ func (a *adapter) userPrivacyByUID(ctx context.Context, uid t.Uid) (*t.UserPriva
|
||||
|
||||
func isAllowedWorkbenchRoute(route string) bool {
|
||||
switch route {
|
||||
case "/organization", "/attendance", "/meetings", "/reports/daily", "/reports/monthly", "/executive-mailbox":
|
||||
case "/organization", "/attendance", "/meetings", "/meeting-notes", "/reports/daily", "/reports/monthly", "/executive-mailbox":
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
|
||||
@@ -8123,6 +8123,7 @@ func workbenchModulePayloads(modules []types.WorkbenchModule) []map[string]any {
|
||||
"name": module.Name,
|
||||
"icon_file_id": module.IconFileID,
|
||||
"route": module.Route,
|
||||
"sort_order": module.SortOrder,
|
||||
"unread_count": module.UnreadCount,
|
||||
"enabled": module.Enabled,
|
||||
"permission": module.Permission,
|
||||
|
||||
@@ -2552,7 +2552,7 @@ func TestServeIMWorkbench(t *testing.T) {
|
||||
oldWorkbench := store.Workbench
|
||||
oldTenants := store.Tenants
|
||||
store.Workbench = &testWorkbenchStore{version: 3, modules: []types.WorkbenchModule{
|
||||
{Code: "organization", Name: "组织架构", Route: "/organization", Enabled: true, Permission: "enabled"},
|
||||
{Code: "organization", Name: "部门框架", Route: "/organization", SortOrder: 40, Enabled: true, Permission: "enabled"},
|
||||
{Code: "external", Name: "外部链接", Route: "https://example.com", Enabled: true, Permission: "enabled"},
|
||||
}}
|
||||
store.Tenants = testTenantStore{tenant: &types.Tenant{ID: 7, Code: "acme", State: types.TenantStateActive}}
|
||||
@@ -2579,7 +2579,7 @@ func TestServeIMWorkbench(t *testing.T) {
|
||||
t.Fatalf("expected external route to be filtered, got %#v", items)
|
||||
}
|
||||
item := items[0].(map[string]any)
|
||||
if item["code"] != "organization" || item["route"] != "/organization" {
|
||||
if item["code"] != "organization" || item["route"] != "/organization" || item["sort_order"].(float64) != 40 {
|
||||
t.Fatalf("unexpected module: %#v", item)
|
||||
}
|
||||
enterprise := data["enterprise"].(map[string]any)
|
||||
|
||||
Reference in New Issue
Block a user