Skip to content

Commit

Permalink
ISI-948 Work saved
Browse files Browse the repository at this point in the history
  • Loading branch information
albrecht.schaenzel committed Oct 31, 2023
1 parent 47e1fc8 commit 392456e
Show file tree
Hide file tree
Showing 12 changed files with 191 additions and 6 deletions.
2 changes: 1 addition & 1 deletion frontend/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ module.exports = {
"prettier",
],
rules: {
"no-console": process.env.NODE_ENV === "production" ? "error" : "off",
"no-console": "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
"vue/component-name-in-template-casing": ["error", "kebab-case"],
"vue/require-default-prop": "off",
Expand Down
8 changes: 7 additions & 1 deletion frontend/src/components/abfragen/AbfrageCommonComponent.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
<template>
<div>
<statusleiste-component :abfrage="abfrage" />
<statusleiste-component
v-if="!isNew"
:abfrage="abfrage"
/>
<field-group-card>
<v-row justify="center">
<v-col cols="12">
Expand Down Expand Up @@ -50,5 +53,8 @@ export default class AbfrageCommonComponent extends Mixins(
get isEditable(): boolean {
return this.isEditableProp;
}
@Prop({ type: Boolean, default: false })
private readonly isNew!: boolean;
}
</script>
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ export default class AllgemeineInformationenComponent extends Mixins(
const searchQueryAndSortingDto = {
searchQuery: "",
selectBauleitplanverfahren: false,
selectBaugenehmigungsverfahren: false,
selectBauvorhaben: true,
selectGrundschule: false,
selectGsNachmittagBetreuung: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
id="abfrage_common_component"
ref="abfrageCommonComponent"
v-model="bauleitplanverfahren"
:is-new="isNew"
:is-editable-prop="isEditableByAbfrageerstellung()"
/>
<allgemeine-informationen-component
Expand Down Expand Up @@ -45,7 +46,7 @@
</template>

<script lang="ts">
import { Component, Mixins, VModel } from "vue-property-decorator";
import { Component, Mixins, VModel, Prop } from "vue-property-decorator";
import AbfrageCommonComponent from "@/components/abfragen/AbfrageCommonComponent.vue";
import AllgemeineInformationenComponent from "@/components/abfragen/AllgemeineInformationenComponent.vue";
import AllgemeineInformationenZurAbfrageComponent from "@/components/abfragen/AllgemeineInformationenZurAbfrageComponent.vue";
Expand Down Expand Up @@ -73,6 +74,9 @@ import SaveLeaveMixin from "@/mixins/SaveLeaveMixin";
export default class BauleitplanverfahrenComponent extends Mixins(AbfrageSecurityMixin, SaveLeaveMixin) {
@VModel({ type: BauleitplanverfahrenModel }) bauleitplanverfahren!: BauleitplanverfahrenModel;
@Prop({ type: Boolean, default: false })
private readonly isNew!: boolean;
private nameRootFolder = "bauleitplanverfahren";
}
</script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ export default class BauvorhabenDataTransferDialog extends Mixins(SearchApiReque
const searchQueryAndSortingDto = {
searchQuery: "",
selectBauleitplanverfahren: true,
selectBaugenehmigungsverfahren: true,
selectBauvorhaben: false,
selectGrundschule: false,
selectGsNachmittagBetreuung: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ export default class InfrastruktureinrichtungComponent extends Mixins(
const searchQueryAndSortingDto = {
searchQuery: "",
selectBauleitplanverfahren: false,
selectBaugenehmigungsverfahren: false,
selectBauvorhaben: true,
selectGrundschule: false,
selectGsNachmittagBetreuung: false,
Expand Down
1 change: 1 addition & 0 deletions frontend/src/components/search/SearchInputField.vue
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ export default class SearchInputField extends Mixins(SearchApiRequestMixin) {
const searchQueryDto = {
searchQuery: queryForSearchwordSuggestion,
selectBauleitplanverfahren: searchQueryForEntitiesDto.selectBauleitplanverfahren,
selectBaugenehmigungsverfahren: searchQueryForEntitiesDto.selectBaugenehmigungsverfahren,
selectBauvorhaben: searchQueryForEntitiesDto.selectBauvorhaben,
selectGrundschule: searchQueryForEntitiesDto.selectGrundschule,
selectGsNachmittagBetreuung: searchQueryForEntitiesDto.selectGsNachmittagBetreuung,
Expand Down
25 changes: 25 additions & 0 deletions frontend/src/types/model/abfrage/BaugenehmigungsverfahrenModel.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { BaugenehmigungsverfahrenDto } from "@/api/api-client/isi-backend";
import AdresseModel from "@/types/model/common/AdresseModel";
import AbfragevarianteBaugenehmigungsverfahrenModel from "@/types/model/abfragevariante/AbfragevarianteBaugenehmigungsverfahrenModel";
import { createAdresseDto } from "@/utils/Factories";
import _ from "lodash";

// eslint-disable-next-line @typescript-eslint/no-empty-interface
interface BaugenehmigungsverfahrenModel extends BaugenehmigungsverfahrenDto {}
class BaugenehmigungsverfahrenModel {
constructor(baugenehmigungsverfahren: BaugenehmigungsverfahrenDto) {
Object.assign(this, baugenehmigungsverfahren, {});
if (_.isNil(this.adresse)) {
this.adresse = new AdresseModel(createAdresseDto());
} else {
this.adresse = new AdresseModel(this.adresse);
}
this.abfragevarianten = _.toArray(baugenehmigungsverfahren.abfragevarianten).map(
(abfragevariante) => new AbfragevarianteBaugenehmigungsverfahrenModel(abfragevariante),
);
this.abfragevariantenSachbearbeitung = _.toArray(baugenehmigungsverfahren.abfragevariantenSachbearbeitung).map(
(abfragevariante) => new AbfragevarianteBaugenehmigungsverfahrenModel(abfragevariante),
);
}
}
export { BaugenehmigungsverfahrenModel as default };
2 changes: 2 additions & 0 deletions frontend/src/types/model/search/SearchQueryAndSortingModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class SearchQueryAndSortingModel {
public allObjectTypesSelected(): boolean {
return (
this.selectBauleitplanverfahren &&
this.selectBaugenehmigungsverfahren &&
this.selectBauvorhaben &&
this.selectGrundschule &&
this.selectGsNachmittagBetreuung &&
Expand All @@ -23,6 +24,7 @@ class SearchQueryAndSortingModel {
public allObjectTypesDeselected(): boolean {
return (
!this.selectBauleitplanverfahren &&
!this.selectBaugenehmigungsverfahren &&
!this.selectBauvorhaben &&
!this.selectGrundschule &&
!this.selectGsNachmittagBetreuung &&
Expand Down
98 changes: 97 additions & 1 deletion frontend/src/utils/Factories.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
import {
StatusAbfrage,
AbfragevarianteBauleitplanverfahrenDto,
AbfrageDto,
BauleitplanverfahrenDto,
BaugenehmigungsverfahrenDto,
AbfragevarianteBauleitplanverfahrenDtoWesentlicheRechtsgrundlageEnum,
AbfragevarianteBauleitplanverfahrenDtoSobonOrientierungswertJahrEnum,
AbfragevarianteBaugenehmigungsverfahrenDtoSobonOrientierungswertJahrEnum,
AbfragevarianteBaugenehmigungsverfahrenDtoWesentlicheRechtsgrundlageEnum,
BedarfsmeldungFachreferateDto,
BedarfsmeldungFachreferateDtoInfrastruktureinrichtungTypEnum,
AdresseDto,
Expand All @@ -13,6 +17,7 @@ import {
BauvorhabenDtoWesentlicheRechtsgrundlageEnum,
BauleitplanverfahrenDtoStandVerfahrenEnum,
BauvorhabenDtoStandVerfahrenEnum,
BaugenehmigungsverfahrenDtoStandVerfahrenEnum,
DokumentDto,
DokumentDtoArtDokumentEnum,
FilepathDto,
Expand All @@ -39,6 +44,7 @@ import {
SearchQueryAndSortingDtoSortOrderEnum,
AbfrageDtoArtAbfrageEnum,
AbfragevarianteBauleitplanverfahrenDtoArtAbfragevarianteEnum,
AbfragevarianteBaugenehmigungsverfahrenDtoArtAbfragevarianteEnum,
KommentarDto,
SchuleDtoEinrichtungstraegerEnum,
KindergartenDtoEinrichtungstraegerEnum,
Expand All @@ -53,21 +59,41 @@ export function createSearchQueryAndSortingModel(): SearchQueryAndSortingModel {
const searchQueryAndSortingDto = {
searchQuery: "",
selectBauleitplanverfahren: true,
selectBaugenehmigungsverfahren: true,
selectBauvorhaben: true,
selectGrundschule: true,
selectGsNachmittagBetreuung: true,
selectHausFuerKinder: true,
selectKindergarten: true,
selectKinderkrippe: true,
selectMittelschule: true,
pageSize: undefined,
page: undefined,
pageSize: undefined,
sortBy: SearchQueryAndSortingDtoSortByEnum.LastModifiedDateTime,
sortOrder: SearchQueryAndSortingDtoSortOrderEnum.Desc,
} as SearchQueryAndSortingDto;
return new SearchQueryAndSortingModel(searchQueryAndSortingDto);
}

/**
* AbfrageDto
*/
export function createAbfrageDto(): AbfrageDto {
return {
id: "",
version: undefined,
createdDateTime: undefined,
lastModifiedDateTime: undefined,
artAbfrage: AbfrageDtoArtAbfrageEnum.Unspecified,
name: "",
statusAbfrage: StatusAbfrage.Angelegt,
anmerkung: undefined,
bauvorhaben: undefined,
sub: undefined,
displayName: undefined,
};
}

/**
* BauleitplanverfahrenDto
*/
Expand All @@ -80,6 +106,7 @@ export function createBauleitplanverfahrenDto(): BauleitplanverfahrenDto {
artAbfrage: AbfrageDtoArtAbfrageEnum.Bauleitplanverfahren,
name: "",
statusAbfrage: StatusAbfrage.Angelegt,
anmerkung: undefined,
bauvorhaben: undefined,
sub: undefined,
displayName: undefined,
Expand All @@ -93,7 +120,35 @@ export function createBauleitplanverfahrenDto(): BauleitplanverfahrenDto {
dokumente: new Array<DokumentDto>(),
fristBearbeitung: new Date(0),
offizielleMitzeichnung: UncertainBoolean.Unspecified,
abfragevarianten: new Array<AbfragevarianteBauleitplanverfahrenDto>(),
abfragevariantenSachbearbeitung: new Array<AbfragevarianteBauleitplanverfahrenDto>(),
};
}

/**
* BaugenehmigungsverfahrenDto
*/
export function createBaugenehmigungsverfahrenDto(): BaugenehmigungsverfahrenDto {
return {
id: "",
version: undefined,
createdDateTime: undefined,
lastModifiedDateTime: undefined,
artAbfrage: AbfrageDtoArtAbfrageEnum.Baugenehmigungsverfahren,
name: "",
statusAbfrage: StatusAbfrage.Angelegt,
anmerkung: undefined,
bauvorhaben: undefined,
sub: undefined,
displayName: undefined,
aktenzeichenProLbk: undefined,
bebauungsplannummer: undefined,
standVerfahren: BaugenehmigungsverfahrenDtoStandVerfahrenEnum.Unspecified,
standVerfahrenFreieEingabe: undefined,
adresse: createAdresseDto(),
verortung: undefined,
dokumente: new Array<DokumentDto>(),
fristBearbeitung: new Date(0),
abfragevarianten: new Array<AbfragevarianteBauleitplanverfahrenDto>(),
abfragevariantenSachbearbeitung: new Array<AbfragevarianteBauleitplanverfahrenDto>(),
};
Expand Down Expand Up @@ -151,6 +206,47 @@ export function createAbfragevarianteBauleitplanverfahrenDto(): AbfragevarianteB
};
}

/**
* AbfragevarianteBaugenehmigungsverfahrenDto
*/
export function AbfragevarianteBaugenehmigungsverfahrenDto(): AbfragevarianteBaugenehmigungsverfahrenDto {
return {
id: "",
version: undefined,
createdDateTime: undefined,
lastModifiedDateTime: undefined,
abfragevariantenNr: Number.NaN,
artAbfragevariante: AbfragevarianteBaugenehmigungsverfahrenDtoArtAbfragevarianteEnum.Bauleitplanverfahren,
name: "",
wesentlicheRechtsgrundlage: Array<AbfragevarianteBaugenehmigungsverfahrenDtoWesentlicheRechtsgrundlageEnum>(),
wesentlicheRechtsgrundlageFreieEingabe: undefined,
realisierungVon: Number.NaN,
gfWohnenGesamt: undefined,
gfWohnenBaurechtlichGenehmigt: undefined,
gfWohnenBaurechtlichFestgesetzt: undefined,
gfWohnenBestandswohnbaurecht: undefined,
gfWohnenSonderwohnformen: false,
gfWohnenStudentischesWohnen: undefined,
gfWohnenSeniorinnenWohnen: undefined,
gfWohnenGenossenschaftlichesWohnen: undefined,
gfWohnenWeiteresNichtInfrastrukturrelevantesWohnen: undefined,
gfWohnenPlanungsursaechlich: undefined,
weGesamt: undefined,
weBaurechtlichGenehmigt: undefined,
weBaurechtlichFestgesetzt: undefined,
weSonderwohnformen: false,
weStudentischesWohnen: undefined,
weSeniorinnenWohnen: undefined,
weGenossenschaftlichesWohnen: undefined,
weWeiteresNichtInfrastrukturrelevantesWohnen: undefined,
gfWohnenPlanungsursaechlich: undefined,
sobonOrientierungswertJahr: AbfragevarianteBaugenehmigungsverfahrenDtoSobonOrientierungswertJahrEnum.Unspecified,
anmerkung: undefined,
bedarfsmeldungFachreferate: new Array<BedarfsmeldungFachreferateDto>(),
bauabschnitte: [],
};
}

/**
* AbfragevarianteFachreferatDto
*/
Expand Down
9 changes: 9 additions & 0 deletions frontend/src/views/Abfrage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
id="bauleitverfahren_component"
ref="bauleitverfahrenComponent"
v-model="selected"
:is-new="isNewAbfrage()"
:mode="modeAbfrage"
/>
<abfragevariante-component
Expand Down Expand Up @@ -390,6 +391,10 @@ export default class Abfrage extends Mixins(
public possbileTransitions: Array<TransitionDto> = [];
mounted(): void {
const artAbfrage = this.$route.params.art;
if (!_.isNil(artAbfrage)) {
this.createAbfrage(artAbfrage);
}
this.modeAbfrage = this.isNewAbfrage() ? DisplayMode.NEU : DisplayMode.AENDERUNG;
this.buttonText = this.isNewAbfrage() ? "Entwurf Speichern" : "Aktualisieren";
this.setSelectedAbfrageInStore();
Expand All @@ -399,6 +404,10 @@ export default class Abfrage extends Mixins(
});
}
private createAbfrage(artAbfrage: string) {
console.log("createAbfrage: " + artAbfrage);
}
@Watch("$store.state.search.selectedAbfrage", { deep: true })
private selectedAbfrageChanged() {
const abfrageFromStore = this.$store.getters["search/selectedAbfrage"];
Expand Down
43 changes: 41 additions & 2 deletions frontend/src/views/Main.vue
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,45 @@
<v-tooltip left>
<template #activator="{ on }">
<v-btn
slot="activator"
class="text-h6"
fab
dark
color="green lighten-1"
v-on="on"
@click="createAbfrage"
>
<v-icon>mdi-comment-alert</v-icon>
</v-btn>
<v-tooltip left>
<template #activator="{ on }">

Check warning on line 84 in frontend/src/views/Main.vue

View workflow job for this annotation

GitHub Actions / build-test-npm

Variable 'on' is already declared in the upper scope
<v-btn
fab
dark
small
color="green lighten-1"
v-on="on"
@click="createBauleitplanverfahren"
>
<v-icon>mdi-water-well</v-icon>
</v-btn>
</template>
<span>Bauleitplanverfahren anlegen</span>
</v-tooltip>
<v-tooltip left>
<template #activator="{ on }">

Check warning on line 99 in frontend/src/views/Main.vue

View workflow job for this annotation

GitHub Actions / build-test-npm

Variable 'on' is already declared in the upper scope
<v-btn
fab
dark
small
color="green lighten-1"
v-on="on"
@click="createBaugenehmigungsverfahren"
>
<v-icon>mdi-pillar</v-icon>
</v-btn>
</template>
<span>Baugenehmigungsverfahren anlegen</span>
</v-tooltip>
</template>
<span>Abfrage erstellen</span>
</v-tooltip>
Expand All @@ -97,6 +127,7 @@ import SearchAndFilterOptions from "@/components/search/filter/SearchAndFilterOp
import SearchQueryAndSortingModel from "@/types/model/search/SearchQueryAndSortingModel";
import _ from "lodash";
import MapLayout from "@/components/map/MapLayout.vue";
import { AbfrageDtoArtAbfrageEnum } from "@/api/api-client/isi-backend";
@Component({
components: {
Expand All @@ -118,9 +149,17 @@ export default class Main extends Vue {
this.$store.commit("search/requestSearchQueryAndSorting", _.cloneDeep(searchQueryForEntities));
}
private createAbfrage(): void {
private createBauleitplanverfahren(): void {
router.push({
name: "newabfrage",
params: { art: AbfrageDtoArtAbfrageEnum.Bauleitplanverfahren },
});
}
private createBaugenehmigungsverfahren(): void {
router.push({
name: "newabfrage",
params: { art: AbfrageDtoArtAbfrageEnum.Baugenehmigungsverfahren },
});
}
Expand Down

0 comments on commit 392456e

Please sign in to comment.