PHRAS-1766 Add orderable checkbox for each subdef - Remove order option on groups

This commit is contained in:
Xavier Rousset
2017-12-18 18:02:48 +01:00
parent 3a6f2eb365
commit c7f6b325d8
3 changed files with 11 additions and 70 deletions

View File

@@ -149,12 +149,11 @@ class SubdefsController extends Controller
break;
}
$subdefs->set_subdef($group, $name, $class, false, $options, [], $preset);
$subdefs->set_subdef($group, $name, $class, false, $options, [], true, $preset);
}
} else {
$subdefs = $databox->get_subdef_structure();
$this->updateSubdefGroups($subdefs, $request);
foreach ($Parmsubdefs as $post_sub) {
$options = [];
@@ -193,7 +192,7 @@ class SubdefsController extends Controller
}
$labels = $request->request->get($post_sub . '_label', []);
$subdefs->set_subdef($group, $name, $class, $downloadable, $options, $labels, $preset, $orderable);
$subdefs->set_subdef($group, $name, $class, $downloadable, $options, $labels, $orderable, $preset);
}
}
@@ -218,35 +217,6 @@ class SubdefsController extends Controller
return $mapping;
}
/**
* Update Databox subdefsStructure DOM according to defined groups.
*
* @param \databox_subdefsStructure $subdefs
* @param Request $request
*/
protected function updateSubdefGroups(\databox_subdefsStructure $subdefs, Request $request)
{
$subdefsGroups = $request->request->get('subdefsgroups', []);
$changedGroups = [];
/** @var SubdefGroup $subdefsGroup */
foreach ($subdefs as $groupName => $subdefsGroup) {
$documentOrderable = isset($subdefsGroups[$groupName]['document_orderable'])
? \p4field::isyes($subdefsGroups[$groupName]['document_orderable'])
: false;
if ($subdefsGroup->isDocumentOrderable() !== $documentOrderable) {
if ($documentOrderable) {
$subdefsGroup->allowDocumentOrdering();
} else {
$subdefsGroup->disallowDocumentOrdering();
}
$changedGroups[] = $subdefsGroup;
}
}
if ($changedGroups) {
$subdefs->updateSubdefGroups($changedGroups);
}
}
/**
* @return array
*/