Allow renaming and reording at the same time

This commit is contained in:
Andy Miller
2017-03-21 20:19:35 -06:00
parent 6245f92444
commit bf9dd97aee
4 changed files with 12 additions and 10 deletions

View File

@@ -496,9 +496,6 @@ class AdminController extends AdminBaseController
$obj = $obj->move($parent); $obj = $obj->move($parent);
$this->preparePage($obj, false, $obj->language()); $this->preparePage($obj, false, $obj->language());
// Reset slug and route. For now we do not support slug twig variable on save.
$obj->slug($original_slug);
try { try {
$obj->validate(); $obj->validate();
} catch (\Exception $e) { } catch (\Exception $e) {
@@ -514,7 +511,7 @@ class AdminController extends AdminBaseController
$obj->order($original_order + 1); $obj->order($original_order + 1);
} }
if (isset($data['order'])) { if (isset($data['order']) && !empty($data['order'])) {
$reorder = explode(',', $data['order']); $reorder = explode(',', $data['order']);
} }
@@ -1777,14 +1774,19 @@ class AdminController extends AdminBaseController
{ {
$input = (array)$this->data; $input = (array)$this->data;
// if (isset($input['order'])) { // if (isset($input['folder']) && ) {
// $order = max(0, // $order = $page->value('order');
// ((int)isset($input['order']) && $input['order']) ? $input['order'] : $page->value('order'));
// $ordering = $order ? sprintf('%02d.', $order) : ''; // $ordering = $order ? sprintf('%02d.', $order) : '';
// $slug = empty($input['folder']) ? $page->value('folder') : (string)$input['folder']; // $slug = empty($input['folder']) ? $page->value('folder') : (string)$input['folder'];
// $page->folder($ordering . $slug); // $page->folder($ordering . $slug);
// } // }
if ($input['folder'] != $page->value('folder')) {
$order = $page->value('order');
$ordering = $order ? sprintf('%02d.', $order) : '';
$page->folder($ordering . $input['folder']);
}
if (isset($input['name']) && !empty($input['name'])) { if (isset($input['name']) && !empty($input['name'])) {
$type = (string)strtolower($input['name']); $type = (string)strtolower($input['name']);
$name = preg_replace('|.*/|', '', $type); $name = preg_replace('|.*/|', '', $type);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -770,7 +770,7 @@ form {
} }
&[data-active-id] { &[data-active-id] {
border-color: $notice-bg; border-color: $form-field-text;
} }
} }