diff --git a/frontend/src/components/DBEditor.vue b/frontend/src/components/DBEditor.vue index 3813824ead987ad83c1f85ebd5b26115e007c2a2..5377daabc414fe071bb02540dc649fe9f132f868 100644 --- a/frontend/src/components/DBEditor.vue +++ b/frontend/src/components/DBEditor.vue @@ -26,6 +26,7 @@ :attribute_reference_name="object_definition_reference_names_by_attribute[attr]" :attribute_referencing="object_definition_referencing_by_attribute[attr]" :attribute_name="attr" + :attribute_non_expert_nullable="nullable_non_expert.includes(attr)" :input_reducer="input_reducer[attr]" v-bind:key="attr" v-if="'new' in data && (data.new.isRequired || non_optionals.includes(attr))"></DataEditField> @@ -39,6 +40,7 @@ :attribute_reference_name="object_definition_reference_names_by_attribute[attr]" :attribute_referencing="object_definition_referencing_by_attribute[attr]" :attribute_name="attr" + :attribute_non_expert_nullable="nullable_non_expert.includes(attr)" :input_reducer="input_reducer[attr]" v-bind:key="attr" v-if="'new' in data && (!data.new.isRequired && !non_optionals.includes(attr))"></DataEditField> @@ -54,6 +56,7 @@ :attribute_reference_name="object_definition_reference_names_by_attribute[attr]" :attribute_referencing="object_definition_referencing_by_attribute[attr]" :attribute_name="attr" + :attribute_non_expert_nullable="nullable_non_expert.includes(attr)" :input_reducer="input_reducer[attr]" v-for="attr in non_optionals_order" v-bind:key="attr" @@ -67,6 +70,7 @@ :attribute_reference_name="object_definition_reference_names_by_attribute[attr]" :attribute_referencing="object_definition_referencing_by_attribute[attr]" :attribute_name="attr" + :attribute_non_expert_nullable="nullable_non_expert.includes(attr)" :input_reducer="input_reducer[attr]" v-bind:key="attr" v-if="'new' in data && !non_optionals_order.includes(attr)" @@ -219,6 +223,13 @@ export default { required: false, type: Array }, + nullable_non_expert: { + required: false, + default() { + return [] + }, + type: Array + }, old_uuid: { required: false, type: String, diff --git a/frontend/src/components/DataEditField.vue b/frontend/src/components/DataEditField.vue index 7bb7c180a37b70fb5c918853c945243c2a997f4e..0cc1cf847ed3b56162037700ddbcb48be42bbbf3 100644 --- a/frontend/src/components/DataEditField.vue +++ b/frontend/src/components/DataEditField.vue @@ -47,8 +47,8 @@ ></b-form-input> <input type="hidden" v-if="input_reducer === false" :value="attribute_preset || ''" :name="attribute_name"/> <b-checkbox :name="attribute_name+'_null'" v-model="make_null" - v-if="$store.state.expert && object_attribute.new.is_nullable">NULL - <NetvsExpertMarker/> + v-if="($store.state.expert || attribute_non_expert_nullable) && object_attribute.new.is_nullable">NULL + <NetvsExpertMarker v-if="!attribute_non_expert_nullable"/> </b-checkbox> </b-form-group> </div> @@ -106,6 +106,12 @@ export default { object_attribute: { required: true }, + attribute_non_expert_nullable: { + required: false, + default() { + return false + } + }, attribute_referencing: null, attribute_reference_name: null, attribute_preset: null, diff --git a/frontend/src/components/FQDNRecordTable.vue b/frontend/src/components/FQDNRecordTable.vue index e8771bab6a00e6066b6190f2b010cf2e68d4b382..d74ca51169b1e86b9cff5bc1fccb17bc8c49e189 100644 --- a/frontend/src/components/FQDNRecordTable.vue +++ b/frontend/src/components/FQDNRecordTable.vue @@ -99,7 +99,8 @@ <DBEditor :presets="db_editor_presets" modal_id="edit_fqdn" :object_title="object_title" :input_reducer="full_edit_fqdn_reducer" object_function="update" object_fq_name="dns.fqdn" :old_data="db_editor_old_data" - :non_optionals_order="['value', 'description']"> + :non_optionals_order="['value', 'description']" + :nullable_non_expert="['description']"> </DBEditor> </Loading> </div> diff --git a/frontend/src/components/FQDNTable.vue b/frontend/src/components/FQDNTable.vue index 02d48d3d8e178982f8b062e8baa0abde031cb218..1f1a002fb52347692519288e0e49ad34b1e2d758 100644 --- a/frontend/src/components/FQDNTable.vue +++ b/frontend/src/components/FQDNTable.vue @@ -91,7 +91,9 @@ :old_data="db_editor_old_data" :presets="db_editor_presets" :non_optionals_order="['value', 'description', 'type']" - :object_function="db_editor_function" object_fq_name="dns.fqdn"></DBEditor> + :object_function="db_editor_function" object_fq_name="dns.fqdn" + :nullable_non_expert="['description']"> + </DBEditor> </div> </Loading> diff --git a/frontend/src/views/dnsvs/BCDRecords.vue b/frontend/src/views/dnsvs/BCDRecords.vue index 5c3aa32f6eaf70e39d5e0922eb8e81445ec9667f..13c15a936ec653762af8cc028a700b9b4c77bb8a 100644 --- a/frontend/src/views/dnsvs/BCDRecords.vue +++ b/frontend/src/views/dnsvs/BCDRecords.vue @@ -284,7 +284,8 @@ <DBEditor :presets="db_editor_presets" modal_id="edit_fqdn" :object_title="object_title" :input_reducer="full_edit_fqdn_reducer" object_function="update" object_fq_name="dns.fqdn" :old_data="db_editor_old_data" - :non_optionals_order="['value', 'description']"> + :non_optionals_order="['value', 'description']" + :nullable_non_expert="['description']"> </DBEditor> <EVLogViewer v-if="bcd" modal_id="evlog_bcd" :title="'BCD \''+ bcd.name + '\''" ref_obj_fq="nd.bcd" :refobj_id_value="bcd.gpk"></EVLogViewer> diff --git a/frontend/src/views/dnsvs/DNSVSEntry.vue b/frontend/src/views/dnsvs/DNSVSEntry.vue index 458b016a7854b9cc23d70bfecb8735054c5dbe75..5b62997ea258daa919f9b3b1c74753c200372810 100644 --- a/frontend/src/views/dnsvs/DNSVSEntry.vue +++ b/frontend/src/views/dnsvs/DNSVSEntry.vue @@ -44,7 +44,8 @@ </DBEditor> <DBEditor :input_reducer="create_fqdn_reducer" modal_id="create_fqdn_entry" object_function="create" object_fq_name="dns.fqdn" - :non_optionals_order="['value', 'type', 'description']"> + :non_optionals_order="['value', 'type', 'description']" + :nullable_non_expert="['description']"> </DBEditor> </div> </template> diff --git a/frontend/src/views/dnsvs/DomainInspect.vue b/frontend/src/views/dnsvs/DomainInspect.vue index 8edbc9358e8d3b4a95b13b06155c7c33a3cbace8..38ac962b85f3ff25a420aef7cdcfb6614224b97a 100644 --- a/frontend/src/views/dnsvs/DomainInspect.vue +++ b/frontend/src/views/dnsvs/DomainInspect.vue @@ -19,7 +19,8 @@ :object_title="object_title" :non_optionals_order="['value', 'description', 'type']" :input_reducer="edit_fqdn_reducer" - object_function="update" object_fq_name="dns.fqdn" :old_data="db_editor_old_data"> + object_function="update" object_fq_name="dns.fqdn" :old_data="db_editor_old_data" + :nullable_non_expert="['description']"> </DBEditor> <EVLogViewer v-if="fqdn" modal_id="evlog_fqdn" :title="'FQDN \''+ fqdn.value + '\''" ref_obj_fq="dns.fqdn" refobj_id_field="value_list" :refobj_id_value="[fqdn.value]"></EVLogViewer>