mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-23 15:18:58 +01:00
If hooked, keep app in extension_data to persist across etemplate loops. Fixes lost infolog custom fields in addressbook view when changing nm filters
This commit is contained in:
parent
e34de4afe8
commit
16d010becf
@ -26,6 +26,7 @@ class customfields_widget
|
||||
{
|
||||
var $public_functions = array(
|
||||
'pre_process' => True,
|
||||
'post_process' => True,
|
||||
);
|
||||
var $human_name = array(
|
||||
'customfields' => 'custom fields',
|
||||
@ -112,10 +113,16 @@ class customfields_widget
|
||||
function pre_process($form_name,&$value,&$cell,&$readonlys,&$extension_data,etemplate $tmpl)
|
||||
{
|
||||
list($app) = explode('.',$tmpl->name);
|
||||
if($extension_data['app']) $app = $extension_data['app'];
|
||||
// if we are in the etemplate editor or the app has no cf's, load the cf's from the app the tpl belongs too
|
||||
if ($app && $app != 'stylite' && $app != $this->appname && ($this->appname == 'etemplate' || !$this->customfields || etemplate::$hooked))
|
||||
if ($app && $app != 'stylite' && $app != $this->appname && (
|
||||
$this->appname == 'etemplate' || !$this->customfields || etemplate::$hooked || $extension_data['app']
|
||||
))
|
||||
{
|
||||
self::__construct(null,$app); // app changed
|
||||
|
||||
// Need to keep hooked app for things like nm filter changes and validation errors
|
||||
if(etemplate::$hooked) $extension_data['app'] = $app;
|
||||
}
|
||||
list($type2,$use_private,$field_names) = explode(',',$cell['size'],3);
|
||||
$fields_with_vals=array();
|
||||
@ -493,6 +500,12 @@ class customfields_widget
|
||||
return True; // extra Label is ok
|
||||
}
|
||||
|
||||
/**
|
||||
* Override to pass along extension_data - doesn't happen otherwise
|
||||
*/
|
||||
public function post_process($name,&$value,&$extension_data,&$loop,etemplate &$tmpl,$value_in) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Read the options of a 'select' or 'radio' custom field from a file
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user