return array();
}
- // Views Function
+ protected function referrerOfChangeAction()
+ {
+ return
+ \PFF\Arr::get($this->request->REQUEST, 'ipf_referrer',
+ \PFF\Arr::get($this->request->SERVER, 'HTTP_REFERER',
+ ''));
+ }
+
+ protected function changeSucceed()
+ {
+ $url = @$this->request->POST['ipf_referrer'];
+ if (!$url)
+ $url = IPF_HTTP_URL::urlForView(array('IPF_Admin_Controller', 'listItems'), array($this->app->slug(), $this->slug()));
+ return new IPF_HTTP_Response_Redirect($url);
+ }
+
public function addItem()
{
$errors = false;
if ($form->isValid()) {
list($id, $object) = $this->saveObject($form, null);
-
IPF_Admin_Log::logObject($this, 'add', $object, $id);
-
- $url = @$this->request->POST['ipf_referrer'];
- if (!$url)
- $url = IPF_HTTP_URL::urlForView(array('IPF_Admin_Controller', 'listItems'), array($this->app->slug(), $this->slug()));
- return new IPF_HTTP_Response_Redirect($url);
+ return $this->changeSucceed();
}
$errors = true;
} else {
'extra_css' => $extraMedia['css'],
'errors' => $errors,
'objecttools' => array(),
+ 'ipf_referrer' => $this->referrerOfChangeAction(),
));
}
if ($this->request->method == 'POST') {
IPF_Admin_Log::logObject($this, 'delete', $object);
-
$this->deleteObject($object);
-
- $url = @$this->request->POST['ipf_referrer'];
- if (!$url)
- $url = IPF_HTTP_URL::urlForView(array('IPF_Admin_Controller', 'listItems'), array($this->app->slug(), $this->slug()));
- return new IPF_HTTP_Response_Redirect($url);
+ return $this->changeSucceed();
}
return $this->fullContext(array(
'classname' => $this->verbose_name(),
'object' => $object,
'object_id' => $id,
- 'ipf_referrer' => @$this->request->GET['ipf_referrer'],
+ 'ipf_referrer' => $this->referrerOfChangeAction(),
));
}
if ($form->isValid()) {
list($id, $object) = $this->saveObject($form, $object);
-
IPF_Admin_Log::logObject($this, 'change', $object, $id);
-
- $url = @$this->request->POST['ipf_referrer'];
- if (!$url)
- $url = IPF_HTTP_URL::urlForView(array('IPF_Admin_Controller', 'listItems'), array($this->app->slug(), $this->slug()));
-
- return new IPF_HTTP_Response_Redirect($url);
+ return $this->changeSucceed();
}
$errors = true;
} else {
'extra_css' => $extraMedia['css'],
'errors' => $errors,
'objecttools' => $objecttools,
+ 'ipf_referrer' => $this->referrerOfChangeAction(),
));
}
{/block}
</ul>
<form method="post" enctype="multipart/form-data">
- <input type="hidden" name="ipf_referrer" id="id_ipf_referrer" value="" />
+ <input type="hidden" name="ipf_referrer" value="{$ipf_referrer}">
<div>
{if $errors}
<p class="errornote">Please correct the error below.</p>
{/block}
</fieldset>
<div class="submit-row change-form">
- {if ($mode=='change') && $component->isAccessible(array('delete'))}<p class="float-left"><a id="id_a_delete" href="{url array('IPF_Admin_Controller', 'deleteItem'), array($app->slug(), $component->slug(), $object_id)}" class="deletelink">{trans 'Delete'}</a></p>{/if}
+ {if ($mode=='change') && $component->isAccessible(array('delete'))}<p class="float-left"><a href="{url array('IPF_Admin_Controller', 'deleteItem'), array($app->slug(), $component->slug(), $object_id)}?ipf_referrer={$ipf_referrer}" class="deletelink">{trans 'Delete'}</a></p>{/if}
{if ($mode=='change') && $component->isAccessible(array('change'))}<input type="submit" value="{trans 'Save'}" class="default" />{/if}
{if ($mode=='add') && $component->isAccessible(array('add'))}<input type="submit" value="{trans 'Add'}" class="default" />{/if}
<input type="button" value="{trans 'Cancel'}" onclick="javascript:history.back();" />
{/block}
{block scripts}
-<script>{literal}
-$(function(){
- $("#id_ipf_referrer").val(document.referrer);
- var del_href = $("#id_a_delete").attr("href");
- $("#id_a_delete").attr("href", del_href+'?ipf_referrer='+document.referrer);
-});
-{/literal}</script>
{foreach $extra_js as $js}
{$js|safe}
{/foreach}