Skip to content
Snippets Groups Projects
Commit 409c78d1 authored by Alexander Kaschta's avatar Alexander Kaschta :owl: Committed by Janis Streib
Browse files

UPD: Display IP address types in FQDN and IP list

parent 5c87cb2c
Branches
No related tags found
No related merge requests found
...@@ -13,7 +13,13 @@ export default { ...@@ -13,7 +13,13 @@ export default {
{ name: 'dns.fqdn.list', old: { value: fqdn } }, { name: 'dns.fqdn.list', old: { value: fqdn } },
{ name: 'dns.record.list', inner_join_ref: { fqdn_list: 'api_fkey_dns_record_target_fqdn' } }, { name: 'dns.record.list', inner_join_ref: { fqdn_list: 'api_fkey_dns_record_target_fqdn' } },
{ name: 'dnscfg.fqdn_type.list', old: { sorting_params_list: ['position'] } }, { name: 'dnscfg.fqdn_type.list', old: { sorting_params_list: ['position'] } },
{ name: 'dnscfg.record_inttype.list', old: { is_own: true, sorting_params_list: ['record_type'] } } { name: 'dnscfg.record_inttype.list', old: { is_own: true, sorting_params_list: ['record_type'] } },
{ name: 'dns.ip_addr.list', inner_join_ref: { record_list: 'default' } },
{
name: 'nd.ip_subnet.list',
inner_join_ref: { ip_addr_list: 'default' },
old: { sorting_params_list: ['type ASC', 'cidr ASC'] }
}
] ]
return TransactionService.execute(config, ta) return TransactionService.execute(config, ta)
}, },
...@@ -22,7 +28,13 @@ export default { ...@@ -22,7 +28,13 @@ export default {
{ name: 'dns.fqdn.list', old: { value: fqdn } }, { name: 'dns.fqdn.list', old: { value: fqdn } },
{ name: 'dns.record.list', old: { sorting_params_list: ['type', 'fqdn'] }, inner_join_ref: { fqdn_list: 'default' } }, { name: 'dns.record.list', old: { sorting_params_list: ['type', 'fqdn'] }, inner_join_ref: { fqdn_list: 'default' } },
{ name: 'dnscfg.fqdn_type.list', old: { sorting_params_list: ['position'] } }, { name: 'dnscfg.fqdn_type.list', old: { sorting_params_list: ['position'] } },
{ name: 'dnscfg.record_inttype.list', old: { is_own: true, sorting_params_list: ['record_type'] } } { name: 'dnscfg.record_inttype.list', old: { is_own: true, sorting_params_list: ['record_type'] } },
{ name: 'dns.ip_addr.list', inner_join_ref: { record_list: 'default' } },
{
name: 'nd.ip_subnet.list',
inner_join_ref: { ip_addr_list: 'default' },
old: { sorting_params_list: ['type ASC', 'cidr ASC'] }
}
] ]
return TransactionService.execute(config, ta) return TransactionService.execute(config, ta)
}, },
...@@ -32,7 +44,12 @@ export default { ...@@ -32,7 +44,12 @@ export default {
{ name: 'dns.record.list', old: { sorting_params_list: ['type', 'fqdn'] }, inner_join_ref: {ip_addr_list: 'default'}}, { name: 'dns.record.list', old: { sorting_params_list: ['type', 'fqdn'] }, inner_join_ref: {ip_addr_list: 'default'}},
{ name: 'dnscfg.fqdn_type.list', old: { sorting_params_list: ['position'] } }, { name: 'dnscfg.fqdn_type.list', old: { sorting_params_list: ['position'] } },
{ name: 'dns.fqdn.list', inner_join_ref: { record_list: 'default' } }, { name: 'dns.fqdn.list', inner_join_ref: { record_list: 'default' } },
{ name: 'dnscfg.record_inttype.list', old: { is_own: true, sorting_params_list: ['record_type'] } } { name: 'dnscfg.record_inttype.list', old: { is_own: true, sorting_params_list: ['record_type'] } },
{
name: 'nd.ip_subnet.list',
inner_join_ref: { ip_addr_list: 'default' },
old: { sorting_params_list: ['type ASC', 'cidr ASC'] }
}
] ]
return TransactionService.execute(config, ta) return TransactionService.execute(config, ta)
}, },
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
{{ item.fqdn_description }} {{ item.fqdn_description }}
</b-td> </b-td>
<b-td> <b-td>
<RRDataView :item="item"></RRDataView> <RRDataView :item="item" :subnets="subnets"></RRDataView>
<b-badge v-if="item.data in reserved_addrs_by_ip" variant="warning" <b-badge v-if="item.data in reserved_addrs_by_ip" variant="warning"
:title="$t('components.dns_record_type_card.address_is_reserved')"> :title="$t('components.dns_record_type_card.address_is_reserved')">
{{ $t('components.dns_record_type_card.reserved') }} {{ $t('components.dns_record_type_card.reserved') }}
...@@ -114,7 +114,6 @@ ...@@ -114,7 +114,6 @@
v-if="bcd_has_v4 && bcd_has_v6 && record_type == 'A' && !fqdnHasAAAA(item.fqdn)" v-if="bcd_has_v4 && bcd_has_v6 && record_type == 'A' && !fqdnHasAAAA(item.fqdn)"
variant="danger">{{ $t('components.dns_record_type_card.no_AAAA_record') }} variant="danger">{{ $t('components.dns_record_type_card.no_AAAA_record') }}
</b-badge> </b-badge>
<IPAddressTypeBadge :subnets="subnets" :record_address="item.data"/>
</b-td> </b-td>
<b-td> <b-td>
<template v-if="item.ttl != null">{{ item.ttl }}s</template> <template v-if="item.ttl != null">{{ item.ttl }}s</template>
...@@ -202,11 +201,10 @@ import BCDFreeAddressBlock from '@/components/BCDFreeAddressBlock' ...@@ -202,11 +201,10 @@ import BCDFreeAddressBlock from '@/components/BCDFreeAddressBlock'
import transactionutil from '@/util/transactionutil' import transactionutil from '@/util/transactionutil'
import RecordService from '@/api-services.gen/dns.record' import RecordService from '@/api-services.gen/dns.record'
import DBEditor from '@/components/DBEditor' import DBEditor from '@/components/DBEditor'
import IPAddressTypeBadge from '@/components/IPAddressTypeBadge.vue'
export default { export default {
name: 'DNSRecordTypeCard', name: 'DNSRecordTypeCard',
components: { IPAddressTypeBadge, DBEditor, BCDFreeAddressBlock, RecordInfo, RRDataView, FilterInput }, components: { DBEditor, BCDFreeAddressBlock, RecordInfo, RRDataView, FilterInput },
data() { data() {
return { return {
filter: '', filter: '',
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</b-badge> </b-badge>
</template> </template>
<template v-slot:cell(data)="data"> <template v-slot:cell(data)="data">
<RRDataView :item="data.item"></RRDataView> <RRDataView :item="data.item" :subnets="subnets"></RRDataView>
</template> </template>
<template v-slot:cell(actions)="data"> <template v-slot:cell(actions)="data">
<b-button-group> <b-button-group>
...@@ -129,6 +129,10 @@ export default { ...@@ -129,6 +129,10 @@ export default {
fqdn_rrs: Array, fqdn_rrs: Array,
fqdn: { fqdn: {
required: true required: true
},
subnets: {
required: true,
type: Array
} }
}, },
computed: { computed: {
......
...@@ -4,14 +4,22 @@ ...@@ -4,14 +4,22 @@
<b-badge v-if="!item.target_is_singleton" variant="warning">{{ $t('components.rrdata_view.rr_set') }}</b-badge> <b-badge v-if="!item.target_is_singleton" variant="warning">{{ $t('components.rrdata_view.rr_set') }}</b-badge>
<b-badge v-if="item.target_is_reverse_unique" <b-badge v-if="item.target_is_reverse_unique"
:title="$t('components.rrdata_view.reverse_unique')">{{ $t('components.rrdata_view.ptr') }}</b-badge> :title="$t('components.rrdata_view.reverse_unique')">{{ $t('components.rrdata_view.ptr') }}</b-badge>
<IPAddressTypeBadge v-if="subnets" :subnets="subnets" :record_address="item.data"/>
</span> </span>
</template> </template>
<script> <script>
import IPAddressTypeBadge from '@/components/IPAddressTypeBadge.vue'
export default { export default {
name: 'RRDataView', name: 'RRDataView',
components: { IPAddressTypeBadge },
props: { props: {
item: { item: {
required: true required: true
},
subnets: {
required: true,
type: Array
} }
} }
} }
......
<template> <template>
<div id="bcd-records"> <div id="bcd-records">
<Loading :data="bcd"> <Loading :data="bcd">
<template v-if="bcd"> <!-- WHY?! JUST WHYYYY??? IT WORKS EVERYWHERE ELSE!? -->
<h1 class="my-4"> <h1 class="my-4">
{{ bcd.name }} <small class="text-muted">{{ $t('system.broadcast_domain') }} {{ bcd.name }} <small class="text-muted">{{ $t('system.broadcast_domain') }}
<b-badge variant="success" :title="$t('views.dnsvs.bcd_records.both_subnets')" <b-badge variant="success" :title="$t('views.dnsvs.bcd_records.both_subnets')"
...@@ -285,6 +286,7 @@ ...@@ -285,6 +286,7 @@
</DBEditor> </DBEditor>
<EVLogViewer v-if="bcd" modal_id="evlog_bcd" :title="'BCD \''+ bcd.name + '\''" <EVLogViewer v-if="bcd" modal_id="evlog_bcd" :title="'BCD \''+ bcd.name + '\''"
ref_obj_fq="nd.bcd" :refobj_id_value="bcd.gpk"></EVLogViewer> ref_obj_fq="nd.bcd" :refobj_id_value="bcd.gpk"></EVLogViewer>
</template>
</Loading> </Loading>
</div> </div>
</template> </template>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<b-checkbox :value="true" :unchecked-value="null" v-model="own" switch> <b-checkbox :value="true" :unchecked-value="null" v-model="own" switch>
{{ $t('components.dnsvs_entry.show_only_own') }} {{ $t('components.dnsvs_entry.show_only_own') }}
</b-checkbox> </b-checkbox>
<FQDNRecordTable fqdn="null" :fqdn_rrs="records"></FQDNRecordTable> <FQDNRecordTable fqdn="null" :fqdn_rrs="records" :subnets="[]"></FQDNRecordTable>
</div> </div>
</template> </template>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
v-if="$route.params.fqdn !== '$'">{{ $route.params.fqdn }}</span>' v-if="$route.params.fqdn !== '$'">{{ $route.params.fqdn }}</span>'
</h1> </h1>
<FQDNRecordTable :full_edit_fqdn_reducer="full_edit_fqdn_reducer" :create_record_reducer="create_record_reducer" <FQDNRecordTable :full_edit_fqdn_reducer="full_edit_fqdn_reducer" :create_record_reducer="create_record_reducer"
:fqdn_rrs="records" :fqdn="fqdn"></FQDNRecordTable> :fqdn_rrs="records" :fqdn="fqdn" :subnets="subnets"></FQDNRecordTable>
</div> </div>
</template> </template>
...@@ -18,6 +18,7 @@ export default { ...@@ -18,6 +18,7 @@ export default {
return { return {
records: null, records: null,
fqdn: null, fqdn: null,
subnets: null,
full_edit_fqdn_reducer: null, full_edit_fqdn_reducer: null,
create_record_reducer: null create_record_reducer: null
} }
...@@ -28,6 +29,7 @@ export default { ...@@ -28,6 +29,7 @@ export default {
const response = await FQDNRRService.getRecordsByFQDN(this.$store.state.netdb_axios_config, this.$route.params.fqdn) const response = await FQDNRRService.getRecordsByFQDN(this.$store.state.netdb_axios_config, this.$route.params.fqdn)
window.console.log(response) window.console.log(response)
this.records = response.data.record_list this.records = response.data.record_list
this.subnets = response.data.ip_subnet_list
const fqdnSelections = {} const fqdnSelections = {}
for (const t of response.data.fqdn_type_list) { for (const t of response.data.fqdn_type_list) {
let disp_name = t.description let disp_name = t.description
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<FQDNRecordTable :fqdn_rrs="records" :fqdn="fqdn" <FQDNRecordTable :fqdn_rrs="records" :fqdn="fqdn"
:full_edit_fqdn_reducer="full_edit_fqdn_reducer" :full_edit_fqdn_reducer="full_edit_fqdn_reducer"
:create_record_reducer="create_record_reducer" :create_record_reducer="create_record_reducer"
:subnets="subnets"
></FQDNRecordTable> ></FQDNRecordTable>
</div> </div>
</template> </template>
...@@ -21,6 +22,7 @@ export default { ...@@ -21,6 +22,7 @@ export default {
return { return {
records: null, records: null,
fqdn: null, fqdn: null,
subnets: null,
full_edit_fqdn_reducer: null, full_edit_fqdn_reducer: null,
create_record_reducer: null create_record_reducer: null
} }
...@@ -37,6 +39,7 @@ export default { ...@@ -37,6 +39,7 @@ export default {
const response = await RRService.getRecordsByTargetFQDN(this.$store.state.netdb_axios_config, this.$route.params.fqdn) const response = await RRService.getRecordsByTargetFQDN(this.$store.state.netdb_axios_config, this.$route.params.fqdn)
this.fqdn = response.data.fqdn_list[0] this.fqdn = response.data.fqdn_list[0]
this.records = response.data.record_list this.records = response.data.record_list
this.subnets = response.data.ip_subnet_list
const fqdnSelections = {} const fqdnSelections = {}
for (const t of response.data.fqdn_type_list) { for (const t of response.data.fqdn_type_list) {
let disp_name = t.description let disp_name = t.description
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="IPRecords"> <div class="IPRecords">
<h1>{{ $t('views.dnsvs.ip_records.records_to_ip') }} <code>{{ $route.params.ip }}</code></h1> <h1>{{ $t('views.dnsvs.ip_records.records_to_ip') }} <code>{{ $route.params.ip }}</code></h1>
<FQDNRecordTable :full_edit_fqdn_reducer="full_edit_fqdn_reducer" :create_record_reducer="create_record_reducer" <FQDNRecordTable :full_edit_fqdn_reducer="full_edit_fqdn_reducer" :create_record_reducer="create_record_reducer"
:fqdn_rrs="records" :fqdn="fqdn"></FQDNRecordTable> :fqdn_rrs="records" :fqdn="fqdn" :subnets="subnets"></FQDNRecordTable>
</div> </div>
</template> </template>
...@@ -16,6 +16,7 @@ export default { ...@@ -16,6 +16,7 @@ export default {
return { return {
records: null, records: null,
fqdn: null, fqdn: null,
subnets: null,
full_edit_fqdn_reducer: null, full_edit_fqdn_reducer: null,
create_record_reducer: null create_record_reducer: null
} }
...@@ -25,6 +26,7 @@ export default { ...@@ -25,6 +26,7 @@ export default {
this.records = null this.records = null
const response = await FQDNRRService.getRecordsByIP(this.$store.state.netdb_axios_config, this.$route.params.ip) const response = await FQDNRRService.getRecordsByIP(this.$store.state.netdb_axios_config, this.$route.params.ip)
this.records = response.data.record_list this.records = response.data.record_list
this.subnets = response.data.ip_subnet_list
const fqdnSelections = {} const fqdnSelections = {}
for (const t of response.data.fqdn_type_list) { for (const t of response.data.fqdn_type_list) {
let disp_name = t.description let disp_name = t.description
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment