Skip to content

Commit

Permalink
Pretty much all forms fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
Maëlys Bras de fer committed Aug 13, 2021
1 parent b217574 commit 2eaf6cf
Show file tree
Hide file tree
Showing 10 changed files with 56 additions and 30 deletions.
4 changes: 0 additions & 4 deletions dockers/manager/back/app/dns/rules.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
import time
import re
from functools import wraps

from app.api import get_powerdns_http_api as dns_http
from app.utils import (
create_node_id,
Expand Down
3 changes: 1 addition & 2 deletions dockers/manager/back/app/dns/zones.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from functools import wraps
import time
from app.utils import registerQuery, registerMutation, createType, create_node_id
from app.api import get_powerdns_http_api as dns_http
from app.exception import PMException


@registerQuery("dnsZones")
Expand Down
23 changes: 10 additions & 13 deletions dockers/manager/back/app/docker/network.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,20 +77,17 @@ def resolve_create_network(*_, input):
name = input.get("name")
labels = kv_to_dict(input.get("labels"))
internal = input.get("internal")
pool_configs = []
ipams = input.get("ipams", [])
ipam = None
if ipams:
pool_configs = []
for entry in ipams:
pool_configs.append(
IPAMPool(
entry.get("subnet", None),
entry.get("ipRange", None),
entry.get("gateway", None),
)

ipam = IPAMConfig(
pool_configs=[
IPAMPool(
entry.get("subnet"),
entry.get("ipRange"),
entry.get("gateway"),
)
ipam = IPAMConfig(pool_configs)
for entry in input.get("ipams") or []
]
)

try:
docker_client.networks.create(
Expand Down
18 changes: 15 additions & 3 deletions dockers/manager/front/src/components/DNS/Zone/Create.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,21 @@
<q-form @submit="submit">
<q-card-section>
<q-input
ref="name"
v-model="form.name"
required
label="Name"
class="q-pb-md"
:rules="[endsWithDot]"
/>
<component :is="formChildren.soa" v-model="form.soa" />
<component :is="formChildren.soa" ref="soa" v-model="form.soa" />
</q-card-section>
<q-card-section>
<reset-and-save :modified="modified" @reset="reset" @save="submit" />
<reset-and-save
:modified="modified"
:validate="validate"
@reset="reset"
@save="submit"
/>
</q-card-section>
</q-form>
</template>
Expand All @@ -31,6 +36,13 @@ export default {
},
methods: {
endsWithDot: v => v?.endsWith(".") || "Must end with a dot.",
validate() {
const validators = [
this.$refs.name.validate(),
this.$refs.soa.validate()
];
return validators.every(x => x);
},
submit(done) {
this.mutate({
mutation: api.dns.zones.CREATE_ZONE,
Expand Down
11 changes: 10 additions & 1 deletion dockers/manager/front/src/components/DNS/Zone/SoaForm.vue
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
<template>
<div class="column q-col-gutter-md">
<q-input
ref="nameserver"
v-model="form.nameserver"
label="Nameserver"
:rules="[endsWithDot]"
/>
<q-input
ref="postmaster"
v-model="form.postmaster"
label="Postmaster"
:rules="[endsWithDot]"
Expand Down Expand Up @@ -56,7 +58,14 @@ export default {
zone: { type: String, default: null }
},
methods: {
endsWithDot: v => v?.endsWith(".") || "Must end with a dot."
endsWithDot: v => v?.endsWith(".") || "Must end with a dot.",
validate() {
const validators = [
this.$refs.nameserver.validate(),
this.$refs.postmaster.validate()
];
return validators.every(x => x);
}
}
};
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
/>
</template>
<template #display-targets="{targets}">
{{ targets.join(", ") || "Not forwarded" }}
{{ targets && targets.join(", ") || "Not forwarded" }}
</template>
</component>
</q-card-section>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
>
<template #subnet="props">
<q-input
v-model.number="props.model.subnet"
v-model="props.model.subnet"
:rules="[required()]"
label="Subnet"
flat
Expand All @@ -38,15 +38,15 @@
</template>
<template #gateway="props">
<q-input
v-model.number="props.model.gateway"
v-model="props.model.gateway"
label="Gateway"
flat
v-bind="props"
/>
</template>
<template #ipRange="props">
<q-input
v-model.number="props.model.ipRange"
v-model="props.model.ipRange"
label="IP Range"
flat
v-bind="props"
Expand Down
2 changes: 1 addition & 1 deletion dockers/manager/front/src/components/ListInput.vue
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
</template>

<template v-else>
<slot :name="slot" :model="entry" :readonly="readonly" dense />
<slot :name="slot" :model="entry" :disable="readonly" dense />
</template>
</div>
</template>
Expand Down
13 changes: 11 additions & 2 deletions dockers/manager/front/src/components/Traefik/Middleware/Create.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
<q-tab-panels v-model="panel" animated>
<q-tab-panel name="chooseType">
<q-input
ref="name"
v-model="form.name"
label="Name"
required
:rule="[required('You must make a selection.')]"
:rules="[required('Please enter a name.')]"
/>
<q-select
ref="type"
v-model="form.type"
label="Type"
use-input
Expand All @@ -26,6 +27,7 @@
:steps="['chooseType', 'enterSettings']"
:step.sync="panel"
:modified="modified"
:validate="validate"
@reset="reset"
@save="submit"
/>
Expand Down Expand Up @@ -90,6 +92,13 @@ export default {
}
},
methods: {
validate() {
const validators = [
this.$refs.name.validate(),
this.$refs.type.validate()
];
return validators.every(x => x);
},
submit(done) {
const input = { name: this.form.name, [this.form.type]: this.form.extra };
this.mutate({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
:steps="steps"
:step.sync="panel"
:modified="modified"
:validate="validate"
@reset="reset"
@save="submit"
/>
Expand Down Expand Up @@ -157,6 +158,9 @@ export default {
this.$emit("cancel");
}
},
validate() {
return this.$refs.name.validate();
},
submit(done) {
const protocol = this.form.protocol;
const type = this.form.type;
Expand Down

0 comments on commit 2eaf6cf

Please sign in to comment.