diff --git a/object/adapter.go b/object/adapter.go index 5cc47fba..774b8e8f 100644 --- a/object/adapter.go +++ b/object/adapter.go @@ -40,8 +40,6 @@ type Adapter struct { Table string `xorm:"varchar(100)" json:"table"` TableNamePrefix string `xorm:"varchar(100)" json:"tableNamePrefix"` - IsEnabled bool `json:"isEnabled"` - *xormadapter.Adapter `xorm:"-" json:"-"` } diff --git a/object/enforcer.go b/object/enforcer.go index 98355c80..ca1d0ca3 100644 --- a/object/enforcer.go +++ b/object/enforcer.go @@ -32,9 +32,8 @@ type Enforcer struct { DisplayName string `xorm:"varchar(100)" json:"displayName"` Description string `xorm:"varchar(100)" json:"description"` - Model string `xorm:"varchar(100)" json:"model"` - Adapter string `xorm:"varchar(100)" json:"adapter"` - IsEnabled bool `json:"isEnabled"` + Model string `xorm:"varchar(100)" json:"model"` + Adapter string `xorm:"varchar(100)" json:"adapter"` ModelCfg map[string]string `xorm:"-" json:"modelCfg"` *casbin.Enforcer diff --git a/object/init.go b/object/init.go index 1c7c0550..63c353b4 100644 --- a/object/init.go +++ b/object/init.go @@ -318,7 +318,6 @@ func initBuiltInUserModel() { Name: "user-model-built-in", CreatedTime: util.GetCurrentTime(), DisplayName: "Built-in Model", - IsEnabled: true, ModelText: `[request_definition] r = sub, obj, act @@ -376,7 +375,6 @@ m = (r.subOwner == p.subOwner || p.subOwner == "*") && \ Name: "api-model-built-in", CreatedTime: util.GetCurrentTime(), DisplayName: "API Model", - IsEnabled: true, ModelText: modelText, } _, err = AddModel(model) @@ -435,7 +433,6 @@ func initBuiltInUserAdapter() { TableNamePrefix: conf.GetConfigString("tableNamePrefix"), Database: conf.GetConfigString("dbName"), Table: "casbin_user_rule", - IsEnabled: true, } _, err = AddAdapter(adapter) if err != nil { @@ -462,7 +459,6 @@ func initBuiltInApiAdapter() { TableNamePrefix: conf.GetConfigString("tableNamePrefix"), Database: conf.GetConfigString("dbName"), Table: "casbin_api_rule", - IsEnabled: true, } _, err = AddAdapter(adapter) if err != nil { @@ -487,7 +483,6 @@ func initBuiltInUserEnforcer() { DisplayName: "User Enforcer", Model: "built-in/user-model-built-in", Adapter: "built-in/user-adapter-built-in", - IsEnabled: true, } _, err = AddEnforcer(enforcer) @@ -513,7 +508,6 @@ func initBuiltInApiEnforcer() { DisplayName: "API Enforcer", Model: "built-in/api-model-built-in", Adapter: "built-in/api-adapter-built-in", - IsEnabled: true, } _, err = AddEnforcer(enforcer) diff --git a/object/model.go b/object/model.go index e61de5c2..a1979d96 100644 --- a/object/model.go +++ b/object/model.go @@ -30,7 +30,6 @@ type Model struct { Description string `xorm:"varchar(100)" json:"description"` ModelText string `xorm:"mediumtext" json:"modelText"` - IsEnabled bool `json:"isEnabled"` model.Model `xorm:"-" json:"-"` } diff --git a/web/src/AdapterEditPage.js b/web/src/AdapterEditPage.js index 29858adc..72e4599e 100644 --- a/web/src/AdapterEditPage.js +++ b/web/src/AdapterEditPage.js @@ -13,7 +13,7 @@ // limitations under the License. import React from "react"; -import {Button, Card, Col, Input, InputNumber, Row, Select, Switch} from "antd"; +import {Button, Card, Col, Input, InputNumber, Row, Select} from "antd"; import * as AdapterBackend from "./backend/AdapterBackend"; import * as OrganizationBackend from "./backend/OrganizationBackend"; import * as Setting from "./Setting"; @@ -246,16 +246,6 @@ class AdapterEditPage extends React.Component { }>{i18next.t("syncer:Test DB Connection")} - - - {Setting.getLabel(i18next.t("general:Is enabled"), i18next.t("general:Is enabled - Tooltip"))} : - - - { - this.updateAdapterField("isEnabled", checked); - }} /> - - ); } diff --git a/web/src/AdapterListPage.js b/web/src/AdapterListPage.js index 7577f9e4..5a74b98a 100644 --- a/web/src/AdapterListPage.js +++ b/web/src/AdapterListPage.js @@ -14,7 +14,7 @@ import React from "react"; import {Link} from "react-router-dom"; -import {Button, Switch, Table} from "antd"; +import {Button, Table} from "antd"; import moment from "moment"; import * as Setting from "./Setting"; import * as AdapterBackend from "./backend/AdapterBackend"; @@ -38,7 +38,6 @@ class AdapterListPage extends BaseListPage { databaseType: "mysql", database: "dbName", table: "tableName", - isEnabled: false, }; } @@ -183,18 +182,6 @@ class AdapterListPage extends BaseListPage { width: "120px", sorter: true, }, - { - title: i18next.t("general:Is enabled"), - dataIndex: "isEnabled", - key: "isEnabled", - width: "120px", - sorter: true, - render: (text, record, index) => { - return ( - - ); - }, - }, { title: i18next.t("general:Action"), dataIndex: "", diff --git a/web/src/EnforcerEditPage.js b/web/src/EnforcerEditPage.js index 04cd4a06..35e634e5 100644 --- a/web/src/EnforcerEditPage.js +++ b/web/src/EnforcerEditPage.js @@ -13,7 +13,7 @@ // limitations under the License. import React from "react"; -import {Button, Card, Col, Input, Row, Select, Switch} from "antd"; +import {Button, Card, Col, Input, Row, Select} from "antd"; import * as AdapterBackend from "./backend/AdapterBackend"; import * as EnforcerBackend from "./backend/EnforcerBackend"; import * as ModelBackend from "./backend/ModelBackend"; @@ -194,16 +194,6 @@ class EnforcerEditPage extends React.Component { - - - {Setting.getLabel(i18next.t("general:Is enabled"), i18next.t("general:Is enabled - Tooltip"))} : - - - { - this.updateEnforcerField("isEnabled", checked); - }} /> - - ); } diff --git a/web/src/EnforcerListPage.js b/web/src/EnforcerListPage.js index 465a6e4e..955ad38a 100644 --- a/web/src/EnforcerListPage.js +++ b/web/src/EnforcerListPage.js @@ -14,7 +14,7 @@ import React from "react"; import {Link} from "react-router-dom"; -import {Button, Switch, Table} from "antd"; +import {Button, Table} from "antd"; import moment from "moment"; import * as Setting from "./Setting"; import * as EnforcerBackend from "./backend/EnforcerBackend"; @@ -31,7 +31,6 @@ class EnforcerListPage extends BaseListPage { name: `enforcer_${randomName}`, createdTime: moment().format(), displayName: `New Enforcer - ${randomName}`, - isEnabled: true, }; } @@ -152,18 +151,6 @@ class EnforcerListPage extends BaseListPage { ); }, }, - { - title: i18next.t("general:Is enabled"), - dataIndex: "isEnabled", - key: "isEnabled", - width: "120px", - sorter: true, - render: (text, record, index) => { - return ( - - ); - }, - }, { title: i18next.t("general:Action"), dataIndex: "", diff --git a/web/src/ModelEditPage.js b/web/src/ModelEditPage.js index 25460fac..d9f57918 100644 --- a/web/src/ModelEditPage.js +++ b/web/src/ModelEditPage.js @@ -13,7 +13,7 @@ // limitations under the License. import React from "react"; -import {Button, Card, Col, Input, Row, Select, Switch} from "antd"; +import {Button, Card, Col, Input, Row, Select} from "antd"; import * as ModelBackend from "./backend/ModelBackend"; import * as OrganizationBackend from "./backend/OrganizationBackend"; import * as Setting from "./Setting"; @@ -161,16 +161,6 @@ class ModelEditPage extends React.Component { - - - {Setting.getLabel(i18next.t("general:Is enabled"), i18next.t("general:Is enabled - Tooltip"))} : - - - { - this.updateModelField("isEnabled", checked); - }} /> - - ); } diff --git a/web/src/ModelListPage.js b/web/src/ModelListPage.js index f59c4e50..28deadf9 100644 --- a/web/src/ModelListPage.js +++ b/web/src/ModelListPage.js @@ -13,8 +13,9 @@ // limitations under the License. import React from "react"; +import {Controlled as CodeMirror} from "react-codemirror2"; import {Link} from "react-router-dom"; -import {Button, Switch, Table} from "antd"; +import {Button, Popover, Table} from "antd"; import moment from "moment"; import * as Setting from "./Setting"; import * as ModelBackend from "./backend/ModelBackend"; @@ -47,7 +48,6 @@ class ModelListPage extends BaseListPage { createdTime: moment().format(), displayName: `New Model - ${randomName}`, modelText: rbacModel, - isEnabled: true, }; } @@ -91,7 +91,7 @@ class ModelListPage extends BaseListPage { title: i18next.t("general:Name"), dataIndex: "name", key: "name", - width: "150px", + width: "180px", fixed: "left", sorter: true, ...this.getColumnSearchProps("name"), @@ -107,7 +107,7 @@ class ModelListPage extends BaseListPage { title: i18next.t("general:Organization"), dataIndex: "owner", key: "owner", - width: "120px", + width: "180px", sorter: true, ...this.getColumnSearchProps("owner"), render: (text, record, index) => { @@ -122,7 +122,7 @@ class ModelListPage extends BaseListPage { title: i18next.t("general:Created time"), dataIndex: "createdTime", key: "createdTime", - width: "160px", + width: "180px", sorter: true, render: (text, record, index) => { return Setting.getFormattedDate(text); @@ -137,14 +137,26 @@ class ModelListPage extends BaseListPage { ...this.getColumnSearchProps("displayName"), }, { - title: i18next.t("general:Is enabled"), - dataIndex: "isEnabled", - key: "isEnabled", - width: "120px", + title: i18next.t("model:Model text"), + dataIndex: "modelText", + key: "modelText", + // width: "180px", sorter: true, render: (text, record, index) => { return ( - + { + return ( + {}} + /> + ); + }} title="" trigger="hover"> + { + Setting.getShortText(text, 100) + } + ); }, }, @@ -152,7 +164,7 @@ class ModelListPage extends BaseListPage { title: i18next.t("general:Action"), dataIndex: "", key: "op", - width: "170px", + width: "180px", fixed: (Setting.isMobile()) ? "false" : "right", render: (text, record, index) => { return ( diff --git a/web/src/table/PolicyTable.js b/web/src/table/PolicyTable.js index ed71e7b9..7a361de0 100644 --- a/web/src/table/PolicyTable.js +++ b/web/src/table/PolicyTable.js @@ -14,7 +14,7 @@ import React from "react"; import {DeleteOutlined, EditOutlined} from "@ant-design/icons"; -import {Button, Input, Popconfirm, Select, Table, Tooltip} from "antd"; +import {Button, Input, Select, Table, Tooltip} from "antd"; import * as Setting from "../Setting"; import * as AdapterBackend from "../backend/AdapterBackend"; import i18next from "i18next"; @@ -176,7 +176,7 @@ class PolicyTable extends React.Component { const editing = this.isEditing(index); return ( editing ? - Setting.getOption(item, item))} value={text} onChange={value => { + Setting.getOption(item, item))} value={text} onChange={value => { this.updateField(table, index, "Ptype", value); }} /> : text @@ -196,7 +196,7 @@ class PolicyTable extends React.Component { const editing = this.isEditing(index); return ( editing ? - { + { this.updateField(table, index, columnKeys[i], e.target.value); }} /> : text @@ -209,17 +209,17 @@ class PolicyTable extends React.Component { title: i18next.t("general:Action"), dataIndex: "", key: "op", - width: "100px", + width: "130px", render: (text, record, index) => { const editable = this.isEditing(index); return editable ? ( - this.save(table, index)}> - Save + this.save(table, index)}> + {i18next.t("general:Save")} + + this.cancel(table, index)}> + {i18next.t("general:Cancel")} - this.cancel(table, index)}> - Cancel - ) : ( @@ -257,7 +257,7 @@ class PolicyTable extends React.Component { render() { return ( - {this.getPolicies();}}> + {this.getPolicies();}}> {i18next.t("general:Sync")} {