Remove questions from parent multi-variant sets

This commit is contained in:
Wojtek
2026-10-16 10:21:52 +02:00
parent 2e3bbe6fc6
commit ea5309ea39
6 changed files with 14 additions and 2 deletions
+1 -1
View File
@@ -30,6 +30,6 @@ Szkielet komponentu Joomla 6 do gromadzenia pytań testowych.
## Instalacja ## Instalacja
W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.35.0). W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.36.0).
Po instalacji komponent jest dostępny w panelu administratora jako **Pytania testowe**. Po instalacji komponent jest dostępny w panelu administratora jako **Pytania testowe**.
@@ -57,6 +57,7 @@ COM_TESTQUESTIONS_SET_VARIANTS="Warianty zestawu"
COM_TESTQUESTIONS_SET_ADD_VARIANT="Dodaj wariant" COM_TESTQUESTIONS_SET_ADD_VARIANT="Dodaj wariant"
COM_TESTQUESTIONS_SET_PARENT="Zestaw nadrzędny" COM_TESTQUESTIONS_SET_PARENT="Zestaw nadrzędny"
COM_TESTQUESTIONS_SET_NO_VARIANTS="Brak wariantów" COM_TESTQUESTIONS_SET_NO_VARIANTS="Brak wariantów"
COM_TESTQUESTIONS_SET_MULTI_QUESTIONS_INFO="Pytania są dodawane w poszczególnych wariantach zestawu."
COM_TESTQUESTIONS_SET_DESCRIPTION="Opis zestawu" COM_TESTQUESTIONS_SET_DESCRIPTION="Opis zestawu"
COM_TESTQUESTIONS_SET_QUESTIONS="Pytania w zestawie" COM_TESTQUESTIONS_SET_QUESTIONS="Pytania w zestawie"
COM_TESTQUESTIONS_SET_QUESTION_COUNT="Liczba pytań" COM_TESTQUESTIONS_SET_QUESTION_COUNT="Liczba pytań"
@@ -0,0 +1 @@
-- No database changes required for version 1.36.0.
@@ -137,6 +137,10 @@ class SetModel extends AdminModel
$data['set_type'] = 'ordinary'; $data['set_type'] = 'ordinary';
} }
if ($parentId === 0 && ($data['set_type'] ?? 'ordinary') === 'multi') {
$questionIds = [];
}
if (!parent::save($data)) { if (!parent::save($data)) {
return false; return false;
} }
@@ -44,6 +44,7 @@ HTMLHelper::_('behavior.formvalidator');
</a> </a>
</fieldset> </fieldset>
<?php endif; ?> <?php endif; ?>
<?php if (!((string) $this->item->set_type === 'multi' && (int) $this->item->parent_id === 0)) : ?>
<fieldset class="mb-3"> <fieldset class="mb-3">
<legend><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_SET_SELECTED_QUESTIONS'); ?></legend> <legend><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_SET_SELECTED_QUESTIONS'); ?></legend>
<div id="set-selected-question-list" class="border rounded p-3"> <div id="set-selected-question-list" class="border rounded p-3">
@@ -109,6 +110,11 @@ HTMLHelper::_('behavior.formvalidator');
<?php endforeach; ?> <?php endforeach; ?>
</div> </div>
</fieldset> </fieldset>
<?php else : ?>
<div class="alert alert-info">
<?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_SET_MULTI_QUESTIONS_INFO'); ?>
</div>
<?php endif; ?>
</fieldset> </fieldset>
<input type="hidden" name="task" value=""> <input type="hidden" name="task" value="">
<?php echo HTMLHelper::_('form.token'); ?> <?php echo HTMLHelper::_('form.token'); ?>
+1 -1
View File
@@ -4,7 +4,7 @@
<creationDate>2026-10-14</creationDate> <creationDate>2026-10-14</creationDate>
<author>Komponent</author> <author>Komponent</author>
<license>GNU General Public License version 2 or later</license> <license>GNU General Public License version 2 or later</license>
<version>1.35.0</version> <version>1.36.0</version>
<description>COM_TESTQUESTIONS_DESCRIPTION</description> <description>COM_TESTQUESTIONS_DESCRIPTION</description>
<element>com_testquestions</element> <element>com_testquestions</element>
<namespace path="src">Komponent\Component\Testquestions</namespace> <namespace path="src">Komponent\Component\Testquestions</namespace>