diff --git a/Alpha/Controller/ActiveRecordController.php b/Alpha/Controller/ActiveRecordController.php index ec626fbc..dc45ccf8 100644 --- a/Alpha/Controller/ActiveRecordController.php +++ b/Alpha/Controller/ActiveRecordController.php @@ -9,6 +9,7 @@ use Alpha\Util\Http\Response; use Alpha\Util\Helper\Validator; use Alpha\View\View; +use Alpha\View\ViewState; use Alpha\Exception\IllegalArguementException; use Alpha\Exception\ResourceNotFoundException; use Alpha\Exception\ResourceNotAllowedException; @@ -611,6 +612,9 @@ public function after_displayPageHead_callback() if ($this->request->getParam('start') != null) { $this->start = $this->request->getParam('start'); + $viewState = ViewState::getInstance(); + $viewState->set('selectedStart', $this->start); + if ($this->request->getParam('limit') != null) { $this->limit = $this->request->getParam('limit'); } else { diff --git a/Alpha/View/Renderer/Html/RendererProviderHTML.php b/Alpha/View/Renderer/Html/RendererProviderHTML.php index e4119c7d..d2aeebcb 100644 --- a/Alpha/View/Renderer/Html/RendererProviderHTML.php +++ b/Alpha/View/Renderer/Html/RendererProviderHTML.php @@ -187,7 +187,9 @@ public function editView($fields = array()) $button = new Button($js, 'Delete', 'deleteBut'); $fields['deleteButton'] = $button->render(); - $button = new Button("document.location = '".FrontController::generateSecureURL('act=Alpha\Controller\ActiveRecordController&ActiveRecordType='.get_class($this->BO))."'", 'Back to List', 'cancelBut'); + $viewState = ViewState::getInstance(); + $start = $viewState->get('selectedStart'); + $button = new Button("document.location = '".FrontController::generateSecureURL('act=Alpha\Controller\ActiveRecordController&ActiveRecordType='.get_class($this->BO).'&start='.$start.'&limit='.$config->get('app.list.page.amount'))."'", 'Back to List', 'cancelBut'); $fields['cancelButton'] = $button->render(); // buffer security fields to $formSecurityFields variable diff --git a/Alpha/View/ViewState.php b/Alpha/View/ViewState.php index 285815f5..90150db7 100644 --- a/Alpha/View/ViewState.php +++ b/Alpha/View/ViewState.php @@ -78,6 +78,15 @@ class ViewState */ protected $renderAdminMenu = false; + /** + * The start position of the last pagination page by the user. + * + * @var int + * + * @since 2.0 + */ + protected $selectedStart = 0; + /** * The view state object singleton. *