mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-12 20:43:25 +00:00
use subdef label instead of subdef name (#4337)
This commit is contained in:
@@ -92,7 +92,7 @@ class ToolsController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$availableSubdefName = [];
|
$availableSubdefLabel = [];
|
||||||
$countSubdefTodo = [];
|
$countSubdefTodo = [];
|
||||||
|
|
||||||
/** @var record_adapter $rec */
|
/** @var record_adapter $rec */
|
||||||
@@ -101,11 +101,12 @@ class ToolsController extends Controller
|
|||||||
if ($databoxSubdefs !== null) {
|
if ($databoxSubdefs !== null) {
|
||||||
foreach ($databoxSubdefs as $sub) {
|
foreach ($databoxSubdefs as $sub) {
|
||||||
if ($sub->isTobuild()) {
|
if ($sub->isTobuild()) {
|
||||||
$availableSubdefName[] = $sub->get_name();
|
$label = trim($sub->get_label($this->app['locale']));
|
||||||
if (isset($countSubdefTodo[$sub->get_name()])) {
|
$availableSubdefLabel[] = $label;
|
||||||
$countSubdefTodo[$sub->get_name()] ++;
|
if (isset($countSubdefTodo[$label])) {
|
||||||
|
$countSubdefTodo[$label] ++;
|
||||||
} else {
|
} else {
|
||||||
$countSubdefTodo[$sub->get_name()] = 1;
|
$countSubdefTodo[$label] = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -118,7 +119,7 @@ class ToolsController extends Controller
|
|||||||
'recordSubdefs' => $recordAccessibleSubdefs,
|
'recordSubdefs' => $recordAccessibleSubdefs,
|
||||||
'metadatas' => $metadatas,
|
'metadatas' => $metadatas,
|
||||||
'listsubdef' => $listsubdef,
|
'listsubdef' => $listsubdef,
|
||||||
'availableSubdefName' => array_unique($availableSubdefName),
|
'availableSubdefLabel' => array_unique($availableSubdefLabel),
|
||||||
'nbRecords' => count($records),
|
'nbRecords' => count($records),
|
||||||
'countSubdefTodo' => $countSubdefTodo
|
'countSubdefTodo' => $countSubdefTodo
|
||||||
]);
|
]);
|
||||||
@@ -167,10 +168,11 @@ class ToolsController extends Controller
|
|||||||
$return = ['success' => true];
|
$return = ['success' => true];
|
||||||
|
|
||||||
$force = $request->request->get('force_substitution') == '1';
|
$force = $request->request->get('force_substitution') == '1';
|
||||||
$subdefsName = $request->request->get('subdefs', []);
|
$subdefsLabel = $request->request->get('subdefsLabel', []);
|
||||||
|
|
||||||
$selection = RecordsRequest::fromRequest($this->app, $request, false, [\ACL::CANMODIFRECORD]);
|
$selection = RecordsRequest::fromRequest($this->app, $request, false, [\ACL::CANMODIFRECORD]);
|
||||||
|
|
||||||
|
/** @var record_adapter $record */
|
||||||
foreach ($selection as $record) {
|
foreach ($selection as $record) {
|
||||||
$substituted = false;
|
$substituted = false;
|
||||||
/** @var \media_subdef $subdef */
|
/** @var \media_subdef $subdef */
|
||||||
@@ -187,6 +189,18 @@ class ToolsController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$substituted || $force) {
|
if (!$substituted || $force) {
|
||||||
|
$subdefsName = [];
|
||||||
|
|
||||||
|
// get subdefinition name from selected subdefinition label
|
||||||
|
$databoxSubdefs = $record->getDatabox()->get_subdef_structure()->getSubdefGroup($record->getType());
|
||||||
|
if ($databoxSubdefs !== null) {
|
||||||
|
foreach ($databoxSubdefs as $sub) {
|
||||||
|
if (in_array(trim($sub->get_label($this->app['locale'])), $subdefsLabel)) {
|
||||||
|
$subdefsName[] = $sub->get_name();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$this->dispatch(RecordEvents::SUBDEFINITION_CREATE, new SubdefinitionCreateEvent($record, false, $subdefsName));
|
$this->dispatch(RecordEvents::SUBDEFINITION_CREATE, new SubdefinitionCreateEvent($record, false, $subdefsName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -83,11 +83,11 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% for subdefName in availableSubdefName %}
|
{% for subdefLabel in availableSubdefLabel %}
|
||||||
<div class="well-small">
|
<div class="well-small">
|
||||||
<label for="recreate_{{ subdefName }}" class="checkbox">
|
<label for="recreate_{{ subdefLabel | replace({' ':'_'}) }}" class="checkbox">
|
||||||
<input class="subdefTodo" type="checkbox" id="recreate_{{ subdefName }}" name="subdefs[]" value="{{ subdefName }}" />
|
<input class="subdefTodo" type="checkbox" id="recreate_{{ subdefLabel | replace({' ':'_'}) }}" name="subdefsLabel[]" value="{{ subdefLabel }}" />
|
||||||
{{ subdefName }} {{ countSubdefTodo[subdefName] }} / {{ nbRecords }}
|
{{ subdefLabel }} {{ countSubdefTodo[subdefLabel] }} / {{ nbRecords }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
Reference in New Issue
Block a user