mirror of https://github.com/veops/cmdb.git
conflect
This commit is contained in:
commit
173358c17c
4
Makefile
4
Makefile
|
@ -18,14 +18,14 @@ env:
|
|||
deps:
|
||||
pipenv install --dev && \
|
||||
pipenv run flask db-setup && \
|
||||
pipenv run flask init-cache && \
|
||||
pipenv run flask cmdb-init-cache && \
|
||||
cd cmdb-ui && yarn install && cd ..
|
||||
|
||||
api:
|
||||
cd cmdb-api && pipenv run flask run -h 0.0.0.0
|
||||
|
||||
worker:
|
||||
cd cmdb-api && pipenv run celery worker -A celery_worker.celery -E -Q cmdb_async --concurrency=1
|
||||
cd cmdb-api && pipenv run celery worker -A celery_worker.celery -E -Q one_cmdb_async --concurrency=1 -D && pipenv run celery worker -A celery_worker.celery -E -Q acl_async --concurrency=1 -D
|
||||
|
||||
ui:
|
||||
cd cmdb-ui && yarn run serve
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
|
||||
### 更多功能
|
||||
|
||||
> 也欢迎移步[维易科技官网](https://www.veops.cn),发现更多免费运维系统。
|
||||
> 也欢迎移步[维易科技官网](https://veops.cn),发现更多免费运维系统。
|
||||
|
||||
## 接入公司
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ kombu = "==4.4.0"
|
|||
# common setting
|
||||
Flask-APScheduler = "==1.12.4"
|
||||
timeout-decorator = "==0.5.0"
|
||||
numpy = "==1.18.5"
|
||||
numpy = "==1.21.5"
|
||||
pandas = "==1.3.2"
|
||||
WTForms = "==3.0.0"
|
||||
email-validator = "==1.3.1"
|
||||
|
|
|
@ -235,7 +235,7 @@ class CITypeGroupManager(object):
|
|||
for t in sorted(CITypeGroupItem.get_by(group_id=group['id']), key=lambda x: x['order'] or 0):
|
||||
ci_type = CITypeCache.get(t['type_id']).to_dict()
|
||||
if resources is None or (ci_type and ci_type['name'] in resources):
|
||||
ci_type['permissions'] = resources[ci_type['name']]
|
||||
ci_type['permissions'] = resources[ci_type['name']] if resources is not None else None
|
||||
group.setdefault("ci_types", []).append(ci_type)
|
||||
group_types.add(t["type_id"])
|
||||
|
||||
|
@ -244,7 +244,7 @@ class CITypeGroupManager(object):
|
|||
other_types = dict(ci_types=[])
|
||||
for ci_type in ci_types:
|
||||
if ci_type["id"] not in group_types and (resources is None or ci_type['name'] in resources):
|
||||
ci_type['permissions'] = resources.get(ci_type['name'])
|
||||
ci_type['permissions'] = resources.get(ci_type['name']) if resources is not None else None
|
||||
other_types['ci_types'].append(ci_type)
|
||||
|
||||
groups.append(other_types)
|
||||
|
|
|
@ -47,7 +47,7 @@ meld3==2.0.1
|
|||
mistune==3.0.1
|
||||
more-itertools==5.0.0
|
||||
msgpack-python==0.5.6
|
||||
numpy==1.18.5
|
||||
numpy==1.21.5
|
||||
pandas==1.3.2
|
||||
Pillow==8.3.2
|
||||
pkgutil_resolve_name==1.3.10
|
||||
|
@ -77,4 +77,4 @@ urllib3==1.26.16
|
|||
vine==1.3.0
|
||||
Werkzeug==0.15.5
|
||||
WTForms==3.0.0
|
||||
zipp==3.16.0
|
||||
zipp==3.16.0
|
||||
|
|
|
@ -172,7 +172,7 @@
|
|||
>
|
||||
<template slot="label">
|
||||
<span
|
||||
style="position:relative;white-space:pre;"
|
||||
style="position: relative; white-space: pre"
|
||||
>{{ `索引` }}
|
||||
<a-tooltip title="字段可被用于检索,加速查询">
|
||||
<a-icon
|
||||
|
@ -204,7 +204,7 @@
|
|||
>
|
||||
<template slot="label">
|
||||
<span
|
||||
style="position:relative;white-space:pre;"
|
||||
style="position: relative; white-space: pre"
|
||||
>{{ `显示` }}
|
||||
<a-tooltip title="CI实例表格默认展示该字段">
|
||||
<a-icon
|
||||
|
@ -250,7 +250,7 @@
|
|||
>
|
||||
<template slot="label">
|
||||
<span
|
||||
style="position:relative;white-space:pre;"
|
||||
style="position: relative; white-space: pre"
|
||||
>{{ `多值` }}
|
||||
<a-tooltip title="字段的值是1个或者多个,接口返回的值的类型是list">
|
||||
<a-icon
|
||||
|
@ -316,7 +316,7 @@
|
|||
<a-form-item :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
|
||||
<template slot="label">
|
||||
<span
|
||||
style="position:relative;white-space:pre;"
|
||||
style="position: relative; white-space: pre"
|
||||
>{{ `计算属性` }}
|
||||
<a-tooltip
|
||||
:title="
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
</vxe-column>
|
||||
<vxe-column field="type_id" title="模型" width="150px">
|
||||
<template #default="{ row }">
|
||||
{{ row.operate_type === '删除模型' ? row.change.alias : row.type_id}}
|
||||
{{ row.operate_type === '删除模型' ? row.change.alias : row.type_id }}
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column field="changeDescription" title="描述">
|
||||
|
|
|
@ -382,9 +382,9 @@
|
|||
:style="{ display: 'inline-block', width: '98%', margin: '0 7px 24px' }"
|
||||
v-if="
|
||||
attributes.findIndex((v) => v == 'bank_card_number') !== -1 ||
|
||||
attributes.findIndex((v) => v == 'bank_card_name') !== -1 ||
|
||||
attributes.findIndex((v) => v == 'opening_bank') !== -1 ||
|
||||
attributes.findIndex((v) => v == 'account_opening_location') !== -1
|
||||
attributes.findIndex((v) => v == 'bank_card_name') !== -1 ||
|
||||
attributes.findIndex((v) => v == 'opening_bank') !== -1 ||
|
||||
attributes.findIndex((v) => v == 'account_opening_location') !== -1
|
||||
"
|
||||
>
|
||||
<a-row :gutter="[8, { xs: 8 }]">
|
||||
|
|
|
@ -179,7 +179,7 @@
|
|||
sortable
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'department_name') !== -1 &&
|
||||
attributes.findIndex((v) => v == 'department_name') !== -1
|
||||
attributes.findIndex((v) => v == 'department_name') !== -1
|
||||
"
|
||||
key="department_name"
|
||||
>
|
||||
|
@ -217,7 +217,7 @@
|
|||
sortable
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'position_name') !== -1 &&
|
||||
attributes.findIndex((v) => v == 'position_name') !== -1
|
||||
attributes.findIndex((v) => v == 'position_name') !== -1
|
||||
"
|
||||
key="position_name"
|
||||
>
|
||||
|
@ -251,7 +251,7 @@
|
|||
sortable
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'direct_supervisor_id') !== -1 &&
|
||||
attributes.findIndex((v) => v == 'direct_supervisor_id') !== -1
|
||||
attributes.findIndex((v) => v == 'direct_supervisor_id') !== -1
|
||||
"
|
||||
key="direct_supervisor_id"
|
||||
>
|
||||
|
@ -290,8 +290,8 @@
|
|||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'annual_leave') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'annual_leave') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'annual_leave') !== -1
|
||||
"
|
||||
key="annual_leave"
|
||||
>
|
||||
|
@ -325,8 +325,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'virtual_annual_leave') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'virtual_annual_leave') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'virtual_annual_leave') !== -1
|
||||
"
|
||||
key="virtual_annual_leave"
|
||||
>
|
||||
|
@ -360,8 +360,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'parenting_leave') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'parenting_leave') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'parenting_leave') !== -1
|
||||
"
|
||||
key="parenting_leave"
|
||||
>
|
||||
|
@ -395,8 +395,8 @@
|
|||
min-width="150"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'entry_date') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'entry_date') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'entry_date') !== -1
|
||||
"
|
||||
key="entry_date"
|
||||
>
|
||||
|
@ -431,8 +431,8 @@
|
|||
v-bind="tableType === 'structure' ? { filters: internOptions, 'filter-multiple': false } : {}"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'is_internship') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'is_internship') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'is_internship') !== -1
|
||||
"
|
||||
key="is_internship"
|
||||
>
|
||||
|
@ -469,8 +469,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'leave_date') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'leave_date') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'leave_date') !== -1
|
||||
"
|
||||
key="leave_date"
|
||||
>
|
||||
|
@ -504,8 +504,8 @@
|
|||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'id_card') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'id_card') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'id_card') !== -1
|
||||
"
|
||||
key="id_card"
|
||||
>
|
||||
|
@ -539,8 +539,8 @@
|
|||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'nation') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'nation') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'nation') !== -1
|
||||
"
|
||||
key="nation"
|
||||
>
|
||||
|
@ -574,8 +574,8 @@
|
|||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'id_place') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'id_place') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'id_place') !== -1
|
||||
"
|
||||
key="id_place"
|
||||
>
|
||||
|
@ -609,8 +609,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'party') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'party') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'party') !== -1
|
||||
"
|
||||
key="party"
|
||||
>
|
||||
|
@ -644,8 +644,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'household_registration_type') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'household_registration_type') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'household_registration_type') !== -1
|
||||
"
|
||||
key="household_registration_type"
|
||||
>
|
||||
|
@ -679,8 +679,8 @@
|
|||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'hometown') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'hometown') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'hometown') !== -1
|
||||
"
|
||||
key="hometown"
|
||||
>
|
||||
|
@ -714,8 +714,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'marry') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'marry') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'marry') !== -1
|
||||
"
|
||||
key="marry"
|
||||
>
|
||||
|
@ -749,8 +749,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'max_degree') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'max_degree') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'max_degree') !== -1
|
||||
"
|
||||
key="max_degree"
|
||||
>
|
||||
|
@ -784,8 +784,8 @@
|
|||
min-width="110"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'emergency_person') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'emergency_person') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'emergency_person') !== -1
|
||||
"
|
||||
key="emergency_person"
|
||||
>
|
||||
|
@ -819,8 +819,8 @@
|
|||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'emergency_phone') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'emergency_phone') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'emergency_phone') !== -1
|
||||
"
|
||||
key="emergency_phone"
|
||||
>
|
||||
|
@ -854,8 +854,8 @@
|
|||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'bank_card_number') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'bank_card_number') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'bank_card_number') !== -1
|
||||
"
|
||||
key="bank_card_number"
|
||||
>
|
||||
|
@ -889,8 +889,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'bank_card_name') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'bank_card_name') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'bank_card_name') !== -1
|
||||
"
|
||||
key="bank_card_name"
|
||||
>
|
||||
|
@ -924,8 +924,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'opening_bank') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'opening_bank') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'opening_bank') !== -1
|
||||
"
|
||||
key="opening_bank"
|
||||
>
|
||||
|
@ -959,8 +959,8 @@
|
|||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'account_opening_location') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'account_opening_location') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'account_opening_location') !== -1
|
||||
"
|
||||
key="account_opening_location"
|
||||
>
|
||||
|
@ -993,8 +993,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'school') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'school') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'school') !== -1
|
||||
"
|
||||
key="school"
|
||||
>
|
||||
|
@ -1027,8 +1027,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'major') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'major') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'major') !== -1
|
||||
"
|
||||
key="major"
|
||||
>
|
||||
|
@ -1061,8 +1061,8 @@
|
|||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'education') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'education') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'education') !== -1
|
||||
"
|
||||
key="education"
|
||||
>
|
||||
|
@ -1095,8 +1095,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'graduation_year') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'graduation_year') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'graduation_year') !== -1
|
||||
"
|
||||
key="graduation_year"
|
||||
>
|
||||
|
@ -1129,8 +1129,8 @@
|
|||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'name') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'name') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'name') !== -1
|
||||
"
|
||||
key="name"
|
||||
>
|
||||
|
@ -1163,8 +1163,8 @@
|
|||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'gender') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'gender') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'gender') !== -1
|
||||
"
|
||||
key="gender"
|
||||
>
|
||||
|
@ -1197,8 +1197,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'birthday') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'birthday') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'birthday') !== -1
|
||||
"
|
||||
key="birthday"
|
||||
>
|
||||
|
@ -1231,8 +1231,8 @@
|
|||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'parental_leave_left') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'parental_leave_left') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'parental_leave_left') !== -1
|
||||
"
|
||||
key="parental_leave_left"
|
||||
>
|
||||
|
@ -1267,8 +1267,8 @@
|
|||
:formatter="formatDate"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'last_login') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'last_login') !== -1
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'last_login') !== -1
|
||||
"
|
||||
key="last_login"
|
||||
>
|
||||
|
|
1044
docs/cmdb_api.md
1044
docs/cmdb_api.md
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue