From bb3ccef40784d37e6e6f1415865625c6e3f166a6 Mon Sep 17 00:00:00 2001 From: Ron Lucke <lucke@elan-ev.de> Date: Wed, 29 Nov 2023 14:11:16 +0000 Subject: [PATCH] TIC #3112 Closes #3112 Merge request studip/studip!2353 --- .../CoursewareStructuralElement.vue | 72 ++++++++-------- .../CoursewareStructuralElementDialogAdd.vue | 67 ++++++++------- .../unit/CoursewareShelfDialogAdd.vue | 85 ++++++++++--------- 3 files changed, 118 insertions(+), 106 deletions(-) diff --git a/resources/vue/components/courseware/structural-element/CoursewareStructuralElement.vue b/resources/vue/components/courseware/structural-element/CoursewareStructuralElement.vue index dba1917eea9..57bd762e612 100644 --- a/resources/vue/components/courseware/structural-element/CoursewareStructuralElement.vue +++ b/resources/vue/components/courseware/structural-element/CoursewareStructuralElement.vue @@ -281,41 +281,43 @@ <option value="other"><translate>Sonstiges</translate></option> </select> </label> - <label> - <translate>Lizenztyp</translate> - <select v-model="currentElement.attributes.payload.license_type"> - <option v-for="license in licenses" :key="license.id" :value="license.id"> - {{ license.name }} - </option> - </select> - </label> - <label> - <translate>Geschätzter zeitlicher Aufwand</translate> - <input type="text" v-model="currentElement.attributes.payload.required_time" /> - </label> - <label> - <translate>Niveau</translate><br /> - <translate>von</translate> - <select v-model="currentElement.attributes.payload.difficulty_start"> - <option - v-for="difficulty_start in 12" - :key="difficulty_start" - :value="difficulty_start" - > - {{ difficulty_start }} - </option> - </select> - <translate>bis</translate> - <select v-model="currentElement.attributes.payload.difficulty_end"> - <option - v-for="difficulty_end in 12" - :key="difficulty_end" - :value="difficulty_end" - > - {{ difficulty_end }} - </option> - </select> - </label> + <template v-if="currentElement.attributes.purpose === 'oer'"> + <label> + <translate>Lizenztyp</translate> + <select v-model="currentElement.attributes.payload.license_type"> + <option v-for="license in licenses" :key="license.id" :value="license.id"> + {{ license.name }} + </option> + </select> + </label> + <label> + <translate>Geschätzter zeitlicher Aufwand</translate> + <input type="text" v-model="currentElement.attributes.payload.required_time" /> + </label> + <label> + <translate>Niveau</translate><br /> + <translate>von</translate> + <select v-model="currentElement.attributes.payload.difficulty_start"> + <option + v-for="difficulty_start in 12" + :key="difficulty_start" + :value="difficulty_start" + > + {{ difficulty_start }} + </option> + </select> + <translate>bis</translate> + <select v-model="currentElement.attributes.payload.difficulty_end"> + <option + v-for="difficulty_end in 12" + :key="difficulty_end" + :value="difficulty_end" + > + {{ difficulty_end }} + </option> + </select> + </label> + </template> </form> </courseware-tab> <courseware-tab :name="textEdit.image" :index="2"> diff --git a/resources/vue/components/courseware/structural-element/CoursewareStructuralElementDialogAdd.vue b/resources/vue/components/courseware/structural-element/CoursewareStructuralElementDialogAdd.vue index 9ba6c775bab..78abfcfeeed 100644 --- a/resources/vue/components/courseware/structural-element/CoursewareStructuralElementDialogAdd.vue +++ b/resources/vue/components/courseware/structural-element/CoursewareStructuralElementDialogAdd.vue @@ -113,33 +113,35 @@ <option value="other">{{ $gettext('Sonstiges') }}</option> </select> </label> - <label> - {{ $gettext('Lizenztyp') }} - <select v-model="license_type"> - <option v-for="license in licenses" :key="license.id" :value="license.id"> - {{ license.name }} - </option> - </select> - </label> - <label> - {{ $gettext('Geschätzter zeitlicher Aufwand') }} - <input type="text" v-model="required_time" /> - </label> - <label> - {{ $gettext('Niveau') }}<br /> - {{ $gettext('von') }} - <select v-model="difficulty_start"> - <option v-for="difficulty_start in 12" :key="difficulty_start" :value="difficulty_start"> - {{ difficulty_start }} - </option> - </select> - {{ $gettext('bis') }} - <select v-model="difficulty_end"> - <option v-for="difficulty_end in 12" :key="difficulty_end" :value="difficulty_end"> - {{ difficulty_end }} - </option> - </select> - </label> + <template v-if="purposeIsOer"> + <label> + {{ $gettext('Lizenztyp') }} + <select v-model="license_type"> + <option v-for="license in licenses" :key="license.id" :value="license.id"> + {{ license.name }} + </option> + </select> + </label> + <label> + {{ $gettext('Geschätzter zeitlicher Aufwand') }} + <input type="text" v-model="required_time" /> + </label> + <label> + {{ $gettext('Niveau') }}<br /> + {{ $gettext('von') }} + <select v-model="difficulty_start"> + <option v-for="difficulty_start in 12" :key="difficulty_start" :value="difficulty_start"> + {{ difficulty_start }} + </option> + </select> + {{ $gettext('bis') }} + <select v-model="difficulty_end"> + <option v-for="difficulty_end in 12" :key="difficulty_end" :value="difficulty_end"> + {{ difficulty_end }} + </option> + </select> + </label> + </template> </form> </template> </studip-wizard-dialog> @@ -249,6 +251,9 @@ export default { hasTemplates() { return this.templates.length > 0; }, + purposeIsOer() { + return this.purpose === 'oer'; + }, }, methods: { ...mapActions({ @@ -302,10 +307,10 @@ export default { payload: { description: this.description, color: this.color, - license_type: this.license_type, - required_time: this.required_time, - difficulty_start: this.difficulty_start, - difficulty_end: this.difficulty_end, + license_type: this.purposeIsOer ? this.license_type : '', + required_time: this.purposeIsOer ? this.required_time : '', + difficulty_start: this.purposeIsOer ? this.difficulty_start : '', + difficulty_end: this.purposeIsOer ? this.difficulty_end : '', }, }, templateId: this.selectedTemplate ? this.selectedTemplate.id : null, diff --git a/resources/vue/components/courseware/unit/CoursewareShelfDialogAdd.vue b/resources/vue/components/courseware/unit/CoursewareShelfDialogAdd.vue index 65465527fcc..6eadc06cb00 100644 --- a/resources/vue/components/courseware/unit/CoursewareShelfDialogAdd.vue +++ b/resources/vue/components/courseware/unit/CoursewareShelfDialogAdd.vue @@ -91,41 +91,43 @@ <option value="other">{{ $gettext('Sonstiges') }}</option> </select> </label> - <label> - {{ $gettext('Lizenztyp') }} - <select v-model="addWizardData.license_type"> - <option v-for="license in licenses" :key="license.id" :value="license.id"> - {{ license.name }} - </option> - </select> - </label> - <label> - {{ $gettext('Geschätzter zeitlicher Aufwand') }} - <input type="text" v-model="addWizardData.required_time" /> - </label> - <label> - {{ $gettext('Niveau') }}<br /> - {{ $gettext('von') }} - <select v-model="addWizardData.difficulty_start"> - <option - v-for="difficulty_start in 12" - :key="difficulty_start" - :value="difficulty_start" - > - {{ difficulty_start }} - </option> - </select> - {{ $gettext('bis') }} - <select v-model="addWizardData.difficulty_end"> - <option - v-for="difficulty_end in 12" - :key="difficulty_end" - :value="difficulty_end" - > - {{ difficulty_end }} - </option> - </select> - </label> + <template v-if="purposeIsOer"> + <label> + {{ $gettext('Lizenztyp') }} + <select v-model="addWizardData.license_type"> + <option v-for="license in licenses" :key="license.id" :value="license.id"> + {{ license.name }} + </option> + </select> + </label> + <label> + {{ $gettext('Geschätzter zeitlicher Aufwand') }} + <input type="text" v-model="addWizardData.required_time" /> + </label> + <label> + {{ $gettext('Niveau') }}<br /> + {{ $gettext('von') }} + <select v-model="addWizardData.difficulty_start"> + <option + v-for="difficulty_start in 12" + :key="difficulty_start" + :value="difficulty_start" + > + {{ difficulty_start }} + </option> + </select> + {{ $gettext('bis') }} + <select v-model="addWizardData.difficulty_end"> + <option + v-for="difficulty_end in 12" + :key="difficulty_end" + :value="difficulty_end" + > + {{ difficulty_end }} + </option> + </select> + </label> + </template> </form> </template> </studip-wizard-dialog> @@ -183,7 +185,10 @@ export default { }, colors() { return this.mixinColors.filter(color => color.darkmode); - } + }, + purposeIsOer() { + return this.addWizardData.purpose === 'oer'; + }, }, mounted() { this.initAddWizardData(); @@ -243,10 +248,10 @@ export default { payload: { description: this.addWizardData.description, color: this.addWizardData.color, - license_type: this.addWizardData.license_type, - required_time: this.addWizardData.required_time, - difficulty_start: this.addWizardData.difficulty_start, - difficulty_end: this.addWizardData.difficulty_end + license_type: this.purposeIsOer ? this.addWizardData.license_type : '', + required_time: this.purposeIsOer ? this.addWizardData.required_time : '', + difficulty_start: this.purposeIsOer ? this.addWizardData.difficulty_start : '', + difficulty_end: this.purposeIsOer ? this.addWizardData.difficulty_end : '' } }, relationships: { -- GitLab