feat: add voor_opleiders toggle and update terminology
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
Production features and text updates: - Add 'Voor opleiders' toggle in Administration component - Update 'Kwaliteitsstandaarden' → 'Zorgstandaarden' throughout - Update 'Toetsing' → 'Meer leren' in translations - Update 'Register' → 'Accreditatie' in filters - Store integration for voor_opleiders field These changes were made directly on production and need to be preserved in version control.
This commit is contained in:
@@ -37,6 +37,23 @@
|
||||
<v-col cols="12" sm="12" md="3"> </v-col>
|
||||
</v-row>
|
||||
|
||||
<v-row>
|
||||
<v-col cols="12" sm="12" md="3">
|
||||
<v-subheader class="txt--text font-weight-black in_the_picture"
|
||||
>Voor opleiders</v-subheader
|
||||
>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="12" md="9" class="mb-4 d-flex flex-column">
|
||||
<div class="pb-0 mb-0 d-flex">
|
||||
<v-switch
|
||||
:disabled="!editMode"
|
||||
inset
|
||||
class="my-3 toggle"
|
||||
v-model="voor_opleiders"
|
||||
/>
|
||||
</div>
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row>
|
||||
<v-col cols="12" sm="12" md="3">
|
||||
<v-subheader class="txt--text font-weight-black">{{
|
||||
@@ -251,6 +268,17 @@ export default {
|
||||
})
|
||||
},
|
||||
},
|
||||
voor_opleiders: {
|
||||
get() {
|
||||
return this.local.voor_opleiders
|
||||
},
|
||||
set(value) {
|
||||
this.$store.commit('learning/UPDATE_FIELD', {
|
||||
field: 'voor_opleiders',
|
||||
value,
|
||||
})
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
onEditorChange() {
|
||||
|
||||
@@ -394,7 +394,7 @@
|
||||
>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="12" md="9" class="mb-4 d-flex flex-column">
|
||||
<div class="pb-0 mb-0 d-flex">
|
||||
<div class="pb-0 mb-0 d-flex align-center">
|
||||
<v-switch
|
||||
:disabled="!editMode"
|
||||
inset
|
||||
@@ -402,35 +402,78 @@
|
||||
v-model="in_the_picture"
|
||||
/>
|
||||
|
||||
<v-text-field
|
||||
:value="computedInThePicDateFormattedStart"
|
||||
readonly
|
||||
prepend-inner-icon="icon-events"
|
||||
:outlined="editMode"
|
||||
:solo="!editMode"
|
||||
:flat="!editMode"
|
||||
/>
|
||||
<!-- Start Date Field with Individual Calendar -->
|
||||
<v-menu
|
||||
ref="menuStartDate"
|
||||
v-model="menuStartDate"
|
||||
:close-on-content-click="false"
|
||||
transition="scale-transition"
|
||||
offset-y
|
||||
min-width="290px"
|
||||
>
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-text-field
|
||||
v-model="startDateFormatted"
|
||||
prepend-inner-icon="icon-events"
|
||||
:outlined="editMode"
|
||||
:solo="!editMode"
|
||||
:disabled="!editMode || !in_the_picture"
|
||||
:flat="!editMode"
|
||||
:readonly="false"
|
||||
placeholder="dd/mm/yyyy"
|
||||
v-bind="attrs"
|
||||
v-on="on"
|
||||
@blur="parseStartDate"
|
||||
/>
|
||||
</template>
|
||||
<v-date-picker
|
||||
v-model="startDate"
|
||||
no-title
|
||||
scrollable
|
||||
:disabled="!editMode || !in_the_picture"
|
||||
locale="nl-NL"
|
||||
first-day-of-week="1"
|
||||
@input="menuStartDate = false"
|
||||
/>
|
||||
</v-menu>
|
||||
|
||||
<span class="mx-5 my-3 font-weight-bold"> tot </span>
|
||||
<v-text-field
|
||||
:value="computedInThePicDateFormattedEnd"
|
||||
readonly
|
||||
:outlined="editMode"
|
||||
:solo="!editMode"
|
||||
:flat="!editMode"
|
||||
append-icon="icon-events"
|
||||
/>
|
||||
|
||||
<!-- End Date Field with Individual Calendar -->
|
||||
<v-menu
|
||||
ref="menuEndDate"
|
||||
v-model="menuEndDate"
|
||||
:close-on-content-click="false"
|
||||
transition="scale-transition"
|
||||
offset-y
|
||||
min-width="290px"
|
||||
>
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-text-field
|
||||
v-model="endDateFormatted"
|
||||
append-icon="icon-events"
|
||||
:outlined="editMode"
|
||||
:solo="!editMode"
|
||||
:disabled="!editMode || !in_the_picture"
|
||||
:flat="!editMode"
|
||||
:readonly="false"
|
||||
placeholder="dd/mm/yyyy"
|
||||
v-bind="attrs"
|
||||
v-on="on"
|
||||
@blur="parseEndDate"
|
||||
/>
|
||||
</template>
|
||||
<v-date-picker
|
||||
v-model="endDate"
|
||||
no-title
|
||||
scrollable
|
||||
:disabled="!editMode || !in_the_picture"
|
||||
locale="nl-NL"
|
||||
first-day-of-week="1"
|
||||
@input="menuEndDate = false"
|
||||
/>
|
||||
</v-menu>
|
||||
</div>
|
||||
<v-date-picker
|
||||
v-if="$store.getters.isSuperAdminOrAdmin"
|
||||
v-model="dates"
|
||||
no-title
|
||||
:disabled="!editMode"
|
||||
flat
|
||||
first-day-of-week="1"
|
||||
range
|
||||
full-width
|
||||
locale="nl-NL"
|
||||
/>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</accordion-card>
|
||||
@@ -528,9 +571,19 @@ export default {
|
||||
x: 0,
|
||||
y: 0,
|
||||
dates: [],
|
||||
menuStartDate: false,
|
||||
menuEndDate: false,
|
||||
startDate: null,
|
||||
endDate: null,
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
// Initialize date fields from store values
|
||||
this.startDate = this.in_the_picture_start
|
||||
this.endDate = this.in_the_picture_end
|
||||
},
|
||||
|
||||
watch: {
|
||||
dialogNotification(val) {
|
||||
val || this.close()
|
||||
@@ -548,6 +601,28 @@ export default {
|
||||
value: val[1] || null,
|
||||
})
|
||||
},
|
||||
|
||||
startDate(val) {
|
||||
this.$store.commit('learning/UPDATE_FIELD', {
|
||||
field: 'in_the_picture_start',
|
||||
value: val || null,
|
||||
})
|
||||
},
|
||||
|
||||
endDate(val) {
|
||||
this.$store.commit('learning/UPDATE_FIELD', {
|
||||
field: 'in_the_picture_end',
|
||||
value: val || null,
|
||||
})
|
||||
},
|
||||
|
||||
in_the_picture_start(val) {
|
||||
this.startDate = val
|
||||
},
|
||||
|
||||
in_the_picture_end(val) {
|
||||
this.endDate = val
|
||||
},
|
||||
},
|
||||
|
||||
computed: {
|
||||
@@ -596,6 +671,24 @@ export default {
|
||||
in_the_picture_end() {
|
||||
return this.local.in_the_picture_end
|
||||
},
|
||||
|
||||
startDateFormatted: {
|
||||
get() {
|
||||
return this.startDate ? this.formatDate(this.startDate) : ''
|
||||
},
|
||||
set(value) {
|
||||
// Will be handled by parseStartDate method
|
||||
}
|
||||
},
|
||||
|
||||
endDateFormatted: {
|
||||
get() {
|
||||
return this.endDate ? this.formatDate(this.endDate) : ''
|
||||
},
|
||||
set(value) {
|
||||
// Will be handled by parseEndDate method
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
@@ -617,6 +710,46 @@ export default {
|
||||
return `${day}/${month}/${year}`
|
||||
},
|
||||
|
||||
parseStartDate(event) {
|
||||
const value = event.target.value
|
||||
if (!value) {
|
||||
this.startDate = null
|
||||
return
|
||||
}
|
||||
|
||||
// Parse DD/MM/YYYY format
|
||||
const parts = value.split('/')
|
||||
if (parts.length === 3) {
|
||||
const day = parts[0].padStart(2, '0')
|
||||
const month = parts[1].padStart(2, '0')
|
||||
const year = parts[2]
|
||||
|
||||
if (year.length === 4 && !isNaN(day) && !isNaN(month)) {
|
||||
this.startDate = `${year}-${month}-${day}`
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
parseEndDate(event) {
|
||||
const value = event.target.value
|
||||
if (!value) {
|
||||
this.endDate = null
|
||||
return
|
||||
}
|
||||
|
||||
// Parse DD/MM/YYYY format
|
||||
const parts = value.split('/')
|
||||
if (parts.length === 3) {
|
||||
const day = parts[0].padStart(2, '0')
|
||||
const month = parts[1].padStart(2, '0')
|
||||
const year = parts[2]
|
||||
|
||||
if (year.length === 4 && !isNaN(day) && !isNaN(month)) {
|
||||
this.endDate = `${year}-${month}-${day}`
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
viewItem(item) {
|
||||
this.editedIndex = this.notifications.indexOf(item)
|
||||
this.notificationEditMode = false
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
<v-row>
|
||||
<v-col cols="12" sm="12" md="3">
|
||||
<v-subheader class="txt--text font-weight-black">
|
||||
Kwaliteitsstandaarden
|
||||
Zorgstandaarden
|
||||
</v-subheader>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="12" md="6" class="pl-6">
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
"short_description": "Korte omschrijving",
|
||||
"allowed_trailer": "Voeg de link toe uit het videoplatform en de video zal automatisch worden toegevoegd.",
|
||||
"learning_goals": "Leerdoelen",
|
||||
"review": "Toetsing",
|
||||
"review": "Meer leren",
|
||||
"certification": "Certificering",
|
||||
"extra_information": "Extra informatie",
|
||||
"target_audience": "Doelgroep",
|
||||
@@ -160,7 +160,7 @@
|
||||
},
|
||||
"all_products": "Alle leerproducten",
|
||||
"synonyms": "Synoniemen",
|
||||
"quality_standards": "Kwaliteitsstandaarden",
|
||||
"quality_standards": "Zorgstandaarden",
|
||||
"filters": {
|
||||
"more": "Meer filters",
|
||||
"title": "Keuzelijsten",
|
||||
@@ -173,12 +173,12 @@
|
||||
"developers": "Ontwikkelaar",
|
||||
"dev_environment": "Ontwikkelomgeving",
|
||||
"product_type": "Producttype",
|
||||
"register": "Register",
|
||||
"register": "Accreditatie",
|
||||
"status": "Status",
|
||||
"theme": "Thema",
|
||||
"type": "Type",
|
||||
"delete_item_confirmation": "Weet je zeker dat je '{itemName} ' wilt verwijderen?",
|
||||
"quality_standards": "Kwaliteitsstandaarden",
|
||||
"quality_standards": "Zorgstandaarden",
|
||||
"made_by": "Gemaakt door"
|
||||
},
|
||||
"partner": "Partner",
|
||||
@@ -197,9 +197,9 @@
|
||||
"technical_information": "Technische informatie"
|
||||
},
|
||||
"add_new_notification": "Nog een mailnotificatie toevoegen",
|
||||
"add_new_accreditation": "Nieuw register toevoegen",
|
||||
"new_accreditation": "Nieuw register",
|
||||
"edit_accreditation": "Bewerken register",
|
||||
"add_new_accreditation": "Nieuw accreditatie toevoegen",
|
||||
"new_accreditation": "Nieuw accreditatie",
|
||||
"edit_accreditation": "Bewerken accreditatie",
|
||||
"accreditation_period": "Accreditatieperiode",
|
||||
"delete_accreditation_confirmation": "Weet je zeker dat je deze accreditatie wilt verwijderen?",
|
||||
"delete_addressmembers_confirmation": "Weet je zeker dat dit adres wilt verwijderen?",
|
||||
@@ -207,7 +207,7 @@
|
||||
"delete_contributionmembers_confirmation": "Weet je zeker dat je deze contributie wilt verwijderen?",
|
||||
"delete_employeesmembers_confirmation": "Weet je zeker dat je deze werknemer wilt verwijderen?",
|
||||
"accreditation": {
|
||||
"register": "Register",
|
||||
"register": "Accreditatie",
|
||||
"credits": "Punten",
|
||||
"date_start": "Start datum",
|
||||
"date_end": "Eind datum"
|
||||
|
||||
17457
package-lock.json
generated
17457
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@
|
||||
<v-row>
|
||||
<v-col cols="12" sm="12" md="3">
|
||||
<v-subheader class="ml-10 txt--text font-weight-black">
|
||||
Kwaliteitsstandaard
|
||||
Zorgstandaard
|
||||
</v-subheader>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="12" md="6">
|
||||
|
||||
@@ -9,7 +9,7 @@ export default {
|
||||
async mounted () {
|
||||
const responsehash = this.$route.hash.split('&', 3);
|
||||
const token = responsehash[0].replace('#access_token=', '');
|
||||
|
||||
|
||||
try {
|
||||
await this.$auth.loginWith('local', {
|
||||
data: {
|
||||
|
||||
@@ -124,6 +124,8 @@ export const actions = {
|
||||
await commit('UPDATE_FIELD', { field: 'in_the_picture', value: 1 })
|
||||
if (state.local.for_members)
|
||||
await commit('UPDATE_FIELD', { field: 'for_members', value: 1 })
|
||||
if (state.local.voor_opleiders)
|
||||
await commit('UPDATE_FIELD', { field: 'voor_opleiders', value: 1 })
|
||||
|
||||
// Check if remotely the product was already set as published
|
||||
const wasPublished = state.remote.published
|
||||
|
||||
Reference in New Issue
Block a user