Fixed "with the close or save and close button you get an exception"

This commit is contained in:
Franck Allimant
2014-07-07 22:44:39 +02:00
parent 77a94d06a0
commit 6ebf2c7e42
14 changed files with 39 additions and 34 deletions

View File

@@ -269,10 +269,10 @@ class FileController extends BaseAdminController
$fileManager = $this->getFileManager();
$imageModel = $fileManager->getModelInstance('image', $parentType);
$redirectUrl = $imageModel->getRedirectionUrl($imageId);
$image = $imageModel->getQueryInstance()->findPk($imageId);
$redirectUrl = $image->getRedirectionUrl();
return $this->render('image-edit', array(
'imageId' => $imageId,
'imageType' => $parentType,
@@ -306,7 +306,7 @@ class FileController extends BaseAdminController
$document = $documentModel->getQueryInstance()->findPk($documentId);
$redirectUrl = $documentModel->getRedirectionUrl($documentId);
$redirectUrl = $document->getRedirectionUrl();
return $this->render('document-edit', array(
'documentId' => $documentId,
@@ -394,7 +394,13 @@ class FileController extends BaseAdminController
);
if ($this->getRequest()->get('save_mode') == 'close') {
$this->redirect(URL::getInstance()->absoluteUrl($fileModelInstance->getRedirectionUrl($fileId)));
if ($objectType == 'document')
$tab = 'documents';
else
$tab = 'images';
$this->redirect(URL::getInstance()->absoluteUrl($file->getRedirectionUrl(), ['current_tab' => $tab]));
} else {
$this->redirectSuccess($fileUpdateForm);
}
@@ -417,7 +423,7 @@ class FileController extends BaseAdminController
->setGeneralError($message);
}
return $fileModelInstance;
return $file;
}
/**
@@ -454,7 +460,6 @@ class FileController extends BaseAdminController
*/
public function updateDocumentAction($documentId, $parentType)
{
if (null !== $response = $this->checkAuth(AdminResources::retrieve($parentType), array(), AccessManager::UPDATE)) {
return $response;
}
@@ -464,7 +469,7 @@ class FileController extends BaseAdminController
return $this->render('document-edit', array(
'documentId' => $documentId,
'documentType' => $parentType,
'redirectUrl' => $documentInstance->getRedirectionUrl($documentId),
'redirectUrl' => $documentInstance->getRedirectionUrl(),
'formId' => $documentInstance->getUpdateFormId()
));
}

View File

@@ -75,7 +75,7 @@ interface FileModelInterface
*
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId);
public function getRedirectionUrl();
/**
* Get the Query instance for this object

View File

@@ -113,9 +113,9 @@ class BrandDocument extends BaseBrandDocument implements BreadcrumbInterface, Fi
*
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/brand/update/' . $objectId . '?current_tab=document';
return '/admin/brand/update/' . $this->getBrandId();
}
/**

View File

@@ -113,9 +113,9 @@ class BrandImage extends BaseBrandImage implements FileModelInterface, Breadcrum
*
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/brand/update/' . $objectId . '?current_tab=image';
return '/admin/brand/update/' . $this->getBrandId();
}
/**

View File

@@ -123,9 +123,9 @@ class CategoryDocument extends BaseCategoryDocument implements BreadcrumbInterfa
*
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/categories/update?category_id=' . $objectId . '?current_tab=document';
return '/admin/categories/update?category_id=' . $this->getCategoryId();
}
/**

View File

@@ -123,9 +123,9 @@ class CategoryImage extends BaseCategoryImage implements BreadcrumbInterface, Fi
*
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/categories/update?category_id=' . $objectId . '?current_tab=image';
return '/admin/categories/update?category_id=' . $this->getCategoryId();
}
/**

View File

@@ -123,9 +123,9 @@ class ContentDocument extends BaseContentDocument implements BreadcrumbInterface
*
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/content/update/' . $objectId . '?current_tab=document';
return '/admin/content/update/' . $this->getContentId();
}
/**

View File

@@ -121,9 +121,9 @@ class ContentImage extends BaseContentImage implements BreadcrumbInterface, File
*
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/content/update/' . $objectId . '?current_tab=image';
return '/admin/content/update/' . $this->getContentId();
}
/**

View File

@@ -120,9 +120,9 @@ class FolderDocument extends BaseFolderDocument implements BreadcrumbInterface,
* @param int $objectId the ID of the parent object
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/folder/update/' . $objectId . '?current_tab=image';
return '/admin/folder/update/' . $this->getFolderId();
}
/**

View File

@@ -120,9 +120,9 @@ class FolderImage extends BaseFolderImage implements BreadcrumbInterface, FileMo
* @param int $objectId the ID of the parent object
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/folder/update/' . $objectId . '?current_tab=image';
return '/admin/folder/update/' . $this->getFolderId();
}
/**

View File

@@ -123,9 +123,9 @@ class ProductDocument extends BaseProductDocument implements BreadcrumbInterface
*
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/products/update?product_id=' . $objectId . '?current_tab=document';
return '/admin/products/update?product_id=' . $this->getProductId();
}
/**

View File

@@ -122,9 +122,9 @@ class ProductImage extends BaseProductImage implements BreadcrumbInterface, File
*
* @return string the URL to redirect to after update from the back-office
*/
public function getRedirectionUrl($objectId)
public function getRedirectionUrl()
{
return '/admin/products/update?product_id=' . $objectId . '?current_tab=image';
return '/admin/products/update?product_id=' . $this->getProductId();
}
/**

View File

@@ -35,7 +35,7 @@
hide_submit_buttons = false
page_url = "{url path="/admin/document/type/{$documentType}/{$ID}/update"}"
close_url = "{url path="{$redirectUrl}" noamp=1}"
close_url = "{url path="{$redirectUrl}" current_tab="documents" noamp=1}"
}
{form_hidden_fields form=$form}
@@ -75,7 +75,7 @@
hide_flags = true
page_url = "{url path="/admin/document/type/{$documentType}/{$ID}/update"}"
close_url = "{url path="{$redirectUrl}"}"
close_url = "{url path="{$redirectUrl}" current_tab="documents"}"
}
</form>
{/form}
@@ -95,7 +95,7 @@
<div class="col-md-12">
<div class="row inner-toolbar clearfix">
<div class="col-md-6 inner-actions pull-right">
<a href="{url path="{$redirectUrl}"}" class="btn btn-default btn-info">{intl l='Back'} <span class="glyphicon glyphicon-remove"></span></a>
<a href="{url path="{$redirectUrl}" current_tab="documents"}" class="btn btn-default btn-info">{intl l='Back'} <span class="glyphicon glyphicon-remove"></span></a>
</div>
</div>
<div class="alert alert-error">

View File

@@ -35,7 +35,7 @@
hide_submit_buttons = false
page_url = "{url path="/admin/image/type/{$imageType}/{$ID}/update"}"
close_url = "{url path="{$redirectUrl}" noamp=1}"
close_url = "{url path="{$redirectUrl}" current_tab="images" noamp=1}"
}
{form_hidden_fields form=$form}
@@ -78,7 +78,7 @@
hide_flags = true
page_url = "{url path="/admin/image/type/{$imageType}/{$ID}/update"}"
close_url = "{url path="{$redirectUrl}"}"
close_url = "{url path="{$redirectUrl}" current_tab="images"}"
}
</form>
{/form}
@@ -98,7 +98,7 @@
<div class="col-md-12">
<div class="row inner-toolbar clearfix">
<div class="col-md-6 inner-actions pull-right">
<a href="{url path="{$redirectUrl}"}" class="btn btn-default btn-info">{intl l='Back'} <span class="glyphicon glyphicon-remove"></span></a>
<a href="{url path="{$redirectUrl}" current_tab="images"}" class="btn btn-default btn-info">{intl l='Back'} <span class="glyphicon glyphicon-remove"></span></a>
</div>
</div>
<div class="alert alert-error">