fix for bug #658: Custom Fields - added user in list comes up as ID (number)

Unfortunatetly this bugfix requires some corrections in the way the customfield widget is called in the templates of other apps
This commit is contained in:
Ralf Becker 2007-07-11 15:43:09 +00:00
parent d18508da58
commit 1e3627ad51
15 changed files with 143 additions and 137 deletions

View File

@ -940,7 +940,7 @@ class uicontacts extends bocontacts
{
foreach($this->customfields as $name => $data)
{
$row['customfields'][] = $customfields[$row['id']][$name] ? $customfields[$row['id']][$name] : ' ';
$row['#'.$name] = $customfields[$row['id']][$name];
}
}
if ($this->prefs['home_column'] != 'never' && !$homeaddress)

File diff suppressed because one or more lines are too long

View File

@ -71,4 +71,10 @@ fieldset.emailGroup {
}
.noWrap{
white-space: nowrap;
}
.customfields{
}
.customfields td{
white-space: nowrap;
line-height: 12px;
}

View File

@ -314,7 +314,7 @@
</rows>
</grid>
</template>
<template id="addressbook.edit.custom" template="" lang="" group="0" version="1.3.004">
<template id="addressbook.edit.custom" template="" lang="" group="0" version="1.4.001">
<grid width="100%" height="258" class="row_on" spacing="0" padding="0" overflow="auto">
<columns>
<column/>
@ -324,7 +324,7 @@
<description value="Custom fields"/>
</row>
<row height="100%">
<customfields id="customfields"/>
<customfields/>
</row>
</rows>
</grid>

View File

@ -14,7 +14,7 @@
</hbox>
<styles>.rightPadAdd { width: 30px; }</styles>
</template>
<template id="addressbook.index.rows" template="" lang="" group="0" version="1.4.001">
<template id="addressbook.index.rows" template="" lang="" group="0" version="1.4.002">
<grid width="100%">
<columns>
<column/>
@ -145,16 +145,7 @@
<description options=",@${row}[email_link],,,_blank,$row_cont[email_popup]" class="fixedHeight" id="${row}[email]" no_lang="1"/>
<description options=",@${row}[email_home_link],,,_blank,$row_cont[email_home_popup]" class="fixedHeight" id="${row}[email_home]" no_lang="1"/>
</vbox>
<grid height="48" border="0" spacing="0" padding="0" overflow="auto" id="${row}[customfields]">
<columns>
<column/>
</columns>
<rows>
<row>
<description class="fixedHeight" no_lang="1" id="$row"/>
</row>
</rows>
</grid>
<customfields-list rows="1" cols="1" id="$row" class="customfields"/>
<vbox options="0,0">
<date-time id="${row}[created]" readonly="true" class="noWrap"/>
<menulist>

View File

@ -31,25 +31,6 @@
*/
var $appname;
/**
* Allowd types of customfields
*
* The additionally allowed app-names from the link-class, will be add by the edit-method only,
* as the link-class has to be called, which can NOT be instanciated by the constructor, as
* we get a loop in the instanciation.
*
* @var array
*/
var $cf_types = array(
'text' => 'Text',
'label' => 'Label',
'select' => 'Selectbox',
'radio' => 'Radiobutton',
'checkbox' => 'Checkbox',
'date' => 'Date',
'date-time'=> 'Date+Time',
'link-entry' => 'Select entry',
);
/**
* userdefiened types e.g. type of infolog
*
@ -64,7 +45,6 @@
function customfields($appname='')
{
// $this->tmpl =& CreateObject('etemplate.etemplate');
$this->config =& CreateObject('phpgwapi.config',$this->appname=$appname);
if ($appname)
{
@ -204,12 +184,6 @@
$sel_options = array(
'type2' => $this->types2 + array('tmpl' => 'template'),
);
$GLOBALS['egw']->translation->add_app('etemplate');
foreach($this->cf_types as $name => $label) $sel_options['type'][$name] = lang($label);
$link_types = ExecMethod('phpgwapi.bolink.app_list','');
ksort($link_types);
foreach($link_types as $name => $label) $sel_options['type'][$name] = '- '.$label;
$this->tmpl->exec('admin.customfields.edit',$content,$sel_options,$readonlys,array(
'fields' => $preserv_fields,
'appname' => $this->appname,

View File

@ -2,7 +2,7 @@
/**
* eGroupWare - eTemplates for Application admin
* http://www.egroupware.org
* generated by soetemplate::dump4setup() 2006-10-05 10:38
* generated by soetemplate::dump4setup() 2007-07-11 11:18
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package admin
@ -21,5 +21,7 @@ $templ_data[] = array('name' => 'admin.customfields.fields','template' => '','la
$templ_data[] = array('name' => 'admin.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.2','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"C";s:8:",!@type2";}i:1;a:8:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subtype";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"H";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:8:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"C";a:4:{s:4:"type";s:6:"select";s:4:"size";s:3:"All";s:4:"name";s:13:"${row}[type2]";s:7:"no_lang";s:1:"1";}s:1:"D";a:4:{s:4:"type";s:6:"select";s:4:"name";s:12:"{$row}[type]";s:4:"help";s:19:"Type of customfield";s:7:"no_lang";s:1:"1";}s:1:"E";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:36:"each value is a line like id[=label]";}s:1:"F";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"G";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"H";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:8;s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1131454776',);
$templ_data[] = array('name' => 'admin.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.4.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"C";s:8:",!@type2";}i:1;a:8:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subtype";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"H";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:8:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"C";a:4:{s:4:"type";s:6:"select";s:4:"size";s:3:"All";s:4:"name";s:13:"${row}[type2]";s:7:"no_lang";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:18:"customfields-types";s:4:"name";s:12:"{$row}[type]";s:4:"help";s:19:"Type of customfield";}s:1:"E";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:36:"each value is a line like id[=label]";}s:1:"F";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"G";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"H";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:8;s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1131454776',);
$templ_data[] = array('name' => 'admin.customfields.types','template' => '','lang' => '','group' => '0','version' => '1.2','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:1:"D";s:15:",@non_deletable";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:8:"app-name";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"- type";}s:1:"C";a:4:{s:4:"type";s:6:"select";s:4:"name";s:5:"types";s:8:"onchange";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"D";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:6:"delete";s:7:"onclick";s:110:"return confirm(\'WARNING: You are about to delete this type. Entries of this type won\\\'t be accessable then.\');";}s:1:"E";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"blur";s:8:"new name";}s:1:"F";a:3:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:6:"create";}}}s:4:"rows";i:1;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1139823458',);

View File

@ -25,7 +25,7 @@
</rows>
</grid>
</template>
<template id="admin.customfields.fields" template="" lang="" group="0" version="1.2">
<template id="admin.customfields.fields" template="" lang="" group="0" version="1.4.001">
<grid>
<columns>
<column/>
@ -57,9 +57,7 @@
<menulist>
<menupopup options="All" id="${row}[type2]" no_lang="1"/>
</menulist>
<menulist>
<menupopup id="{$row}[type]" statustext="Type of customfield" no_lang="1"/>
</menulist>
<customfields-types id="{$row}[type]" statustext="Type of customfield"/>
<textbox multiline="true" rows="2" cols="30" id="${row}[values]" statustext="each value is a line like id[=label]"/>
<vbox>
<textbox size="5" id="${row}[len]" statustext="max length of the input [, length of the inputfield (optional)]"/>

File diff suppressed because one or more lines are too long

View File

@ -163,14 +163,14 @@
</rows>
</grid>
</template>
<template id="calendar.edit.custom" template="" lang="" group="0" version="1.0.1.001">
<template id="calendar.edit.custom" template="" lang="" group="0" version="1.4.001">
<grid width="100%" height="200" overflow="auto">
<columns>
<column/>
</columns>
<rows>
<row valign="top">
<customfields id="customfields"/>
<customfields/>
</row>
</rows>
</grid>
@ -258,7 +258,7 @@
</rows>
</grid>
</template>
<template id="calendar.edit" template="" lang="" group="0" version="1.3.003">
<template id="calendar.edit" template="" lang="" group="0" version="1.3.004">
<grid width="100%">
<columns>
<column width="100"/>

View File

@ -23,8 +23,33 @@
var $public_functions = array(
'pre_process' => True,
);
var $human_name = 'custom fields';
var $human_name = array(
'customfields' => 'custom fields',
'customfields-types' => 'custom field types',
'customfields-list' => 'custom field list',
);
/**
* Allowd types of customfields
*
* The additionally allowed app-names from the link-class, will be add by the edit-method only,
* as the link-class has to be called, which can NOT be instanciated by the constructor, as
* we get a loop in the instanciation.
*
* @var array
*/
var $cf_types = array(
'text' => 'Text',
'label' => 'Label',
'select' => 'Selectbox',
'radio' => 'Radiobutton',
'checkbox' => 'Checkbox',
'date' => 'Date',
'date-time'=> 'Date+Time',
'select-account' => 'Select account',
'link-entry' => 'Select entry', // should be last type, as the individual apps get added behind
);
/**
* @var $prefix string Prefix for every custiomfield name returned in $content (# for general (admin) customfields)
*/
@ -38,7 +63,7 @@
$config = $this->config->read_repository();
//merge old config_name in egw_config table
$config_name = isset($config['customfields']) ? 'customfields' : 'custom_fields';
$this->customfields = $config[$config_name];
$this->customfields = $config[$config_name] ? $config[$config_name] : array('test'=>array('type'=>'label'));
$this->types = $config['types'];
$this->advanced_search = $GLOBALS['egw_info']['etemplate']['advanced_search'];
@ -46,29 +71,58 @@
function pre_process($name,&$value,&$cell,&$readonlys,&$extension_data,&$tmpl)
{
$readonly = $cell['readonly'] || $readonlys[$name];
switch($type = $cell['type'])
{
case 'customfields-types':
$cell['type'] = 'select';
foreach($this->cf_types as $name => $label) $cell['sel_options'][$name] = lang($label);
$link_types = ExecMethod('phpgwapi.bolink.app_list','');
ksort($link_types);
foreach($link_types as $name => $label) $cell['sel_options'][$name] = '- '.$label;
$cell['no_lang'] = true;
return true;
case 'customfields-list':
foreach(array_reverse($this->customfields) as $name => $field)
{
if (!empty($field['type2']) && strpos(','.$field['type2'].',',','.$value.',') === false) continue; // not for our content type
if (isset($value[$this->prefix.$name]) && $value[$this->prefix.$name] !== '') break;
$stop_at_field = $name;
}
break;
}
$readonly = $cell['readonly'] || $readonlys[$name] || $type == 'customfields-list';
if(!is_array($this->customfields))
{
$cell['type'] = 'label';
return True;
}
// making the cell an empty grid
$cell['type'] = 'grid';
$cell['data'] = array(array());
$cell['rows'] = $cell['cols'] = 0;
$tpl =& new etemplate;
$tpl->init('*** generated custom fields','','',0,'',0,0); // make an empty template
//echo '<pre style="text-align: left;">'; print_r($value); echo "</pre>\n";
$n = 1;
foreach($this->customfields as $name => $field)
{
if ($stop_at_field && $name == $stop_at_field) break; // no further row necessary
// check if the customfield get's displayed for type $value, we can have multiple comma-separated types now
if (!empty($field['type2']) && strpos(','.$field['type2'].',',','.$value.',') === false)
{
continue; // not for our content type
}
$row_class = 'row';
$label = &$tpl->new_cell(++$n,'label',$field['label'],'',array(
'no_lang' => substr(lang($field['label']),-1) == '*' ? 2 : 0
));
$new_row = null; etemplate::add_child($cell,$new_row);
if ($type != 'customfields-list')
{
$row_class = 'row';
etemplate::add_child($cell,$label =& etemplate::empty_cell('label','',array(
'label' => $field['label'],
'no_lang' => substr(lang($field['label']),-1) == '*' ? 2 : 0
)));
}
switch ((string)$field['type'])
{
case 'select' :
@ -80,41 +134,39 @@
$field['values'][$key] = $val;
}
}
$input = &$tpl->new_cell($n,'hbox');
if($this->advanced_search)
{
$not = &$tpl->add_child($input, $check = &$tpl->empty_cell('checkbox','!'.$this->prefix.$name,array(
'label' => 'NOT',
'no_lang' => True
)));
unset($not);
unset($check);
}
$select = &$tpl->add_child($input, $item = &$tpl->empty_cell('select',$this->prefix.$name,array(
$input =& etemplate::empty_cell('select',$this->prefix.$name,array(
'sel_options' => $field['values'],
'size' => $field['rows'],
'no_lang' => True
)));
unset($select);
unset($item);
'no_lang' => True
));
if($this->advanced_search)
{
$select =& $input; unset($input);
$input =& etemplate::empty_cell('hbox');
etemplate::add_child($input, $select); unset($select);
etemplate::add_child($input, etemplate::empty_cell('select',$this->prefix.$name,array(
'sel_options' => $field['values'],
'size' => $field['rows'],
'no_lang' => True
)));
}
break;
case 'label' :
$label['span'] = 'all';
$tpl->new_cell($n); // is needed even if its over-span-ed
$row_class = 'th';
break;
case 'checkbox' :
$input = &$tpl->new_cell($n,'checkbox','',$this->prefix.$name);
$input =& etemplate::empty_cell('checkbox',$this->prefix.$name);
break;
case 'radio' :
$input = &$tpl->new_cell($n,'groupbox','','','');
$input =& etemplate::empty_cell('groupbox');
$m = 0;
foreach ($field['values'] as $key => $val)
{
$radio = $tpl->empty_cell('radio',$this->prefix.$name);
$radio['label'] = $val;
$radio['size'] = $key;
$tpl->add_child($input,$radio);
etemplate::add_child($input,$radio);
unset($radio);
}
break;
@ -125,26 +177,32 @@
if($field['rows'] <= 1)
{
list($max,$shown) = explode(',',$field['len']);
$input = &$tpl->new_cell($n,'text','',$this->prefix.$name,array(
$input =& etemplate::empty_cell('text',$this->prefix.$name,array(
'size' => intval($shown > 0 ? $shown : $max).','.intval($max)
));
}
else
{
$input = &$tpl->new_cell($n,'textarea','',$this->prefix.$name,array(
$input =& etemplate::empty_cell('textarea',$this->prefix.$name,array(
'size' => $field['rows'].($field['len'] > 0 ? ','.(int)$field['len'] : '')
));
}
break;
case 'date':
case 'date-time':
$input = &$tpl->new_cell($n,$field['type'],'',$this->prefix.$name,array(
$input =& etemplate::empty_cell($field['type'],$this->prefix.$name,array(
'size' => $field['len'] ? $field['len'] : ($field['type'] == 'date' ? 'Y-m-d' : 'Y-m-d H:i:s'),
));
break;
case 'select-account':
list($opts) = explode('=',$field['values'][0]);
$input =& etemplate::empty_cell('select-account',$this->prefix.$name,array(
'size' => ($field['rows']>1?$field['rows']:lang('None')).','.$opts,
));
break;
case 'link-entry':
default : // link-entry to given app
$input = &$tpl->new_cell($n,'link-entry','',$this->prefix.$name,array(
$input =& etemplate::empty_cell('link-entry',$this->prefix.$name,array(
'size' => $field['type'] == 'link-entry' ? '' : $field['type'],
));
}
@ -155,30 +213,17 @@
$input['help'] = $field['help'];
$input['no_lang'] = substr(lang($help),-1) == '*' ? 2 : 0;
}
$tpl->set_row_attributes($n,0,$row_class,'top');
$cell['data'][0]['c'.$n++] = $row_class.',top';
etemplate::add_child($cell,$input);
unset($input);
unset($label);
}
// create an empty line which (should) take all the remaining height
$tpl->new_cell(++$n,'label','','',array(
'span' => 'all'
));
$tpl->set_row_attributes($n,'99%','row');
// set width of 1. (label) column to 100
$tpl->set_column_attributes(0,'100');
$tpl->set_rows_cols(); // msie (at least 5.5 shows nothing with div overflow=auto)
$tpl->size = '100%,100%'.($tpl->html->user_agent != 'msie' ? ',,,,,auto' : '');
//echo '<pre style="text-align: left;">'; print_r($tpl); echo "</pre>\n";
if (count($tpl->data) < 2)
if ($type != 'customfields-list')
{
$cell['type'] = 'label';
return True;
$cell['data'][0]['A'] = '100';
}
$cell['size'] = ''; // no separate namespace
$cell['type'] = 'template';
$cell['name'] = $tpl->name;
$cell['obj'] = &$tpl;
list($span,$class) = explode(',',$cell['span']); // msie (at least 5.5) shows nothing with div overflow=auto
$cell['size'] = '100%,100%,0,'.$class.','.($type=='customfields-list'?',0':',').($tpl->html->user_agent != 'msie' ? ',auto' : '');
return True; // extra Label is ok
}

View File

@ -18,21 +18,6 @@ class uicustomfields
var $public_functions = array(
'edit' => True
);
/**
* Customfield types, without the link app-names
*
* @var array
*/
var $cf_types = array(
'text' => 'Text',
'label' => 'Label',
'select' => 'Selectbox',
'radio' => 'Radiobutton',
'checkbox' => 'Checkbox',
'date' => 'Date',
'date-time'=> 'Date+Time',
'link-entry' => 'Select entry',
);
/**
* Instance of the infolog BO class
*
@ -67,12 +52,6 @@ class uicustomfields
$this->config = &$this->bo->config;
$this->fields = &$this->bo->customfields;
$this->group_owners =& $this->bo->group_owners;
$GLOBALS['egw']->translation->add_app('etemplate');
foreach($this->cf_types as $name => $label) $this->cf_types[$name] = lang($label);
$link_types = $this->bo->link->app_list();
ksort($link_types);
foreach($link_types as $name => $label) $this->cf_types[$name] = '- '.$label;
}
/**
@ -176,7 +155,6 @@ class uicustomfields
$this->tmpl->read('infolog.customfields');
$this->tmpl->exec('infolog.uicustomfields.edit',$content,array(
'type2' => $this->types,
'type' => $this->cf_types,
),$readonlys,array(
'status' => $preserv_status,
'fields' => $preserv_fields,

View File

@ -2,7 +2,7 @@
/**
* eGroupWare - eTemplates for Application infolog
* http://www.egroupware.org
* generated by soetemplate::dump4setup() 2007-06-13 23:32
* generated by soetemplate::dump4setup() 2007-07-11 17:20
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package infolog
@ -20,7 +20,9 @@ $templ_data[] = array('name' => 'infolog.customfields','template' => '','lang' =
$templ_data[] = array('name' => 'infolog.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.2.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";}i:1;a:7:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"Typ";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:20:"Values for selectbox";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"G";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:7:{s:1:"A";a:4:{s:4:"type";s:6:"select";s:4:"size";s:3:"All";s:4:"name";s:11:"${row}[typ]";s:4:"help";s:41:"for which types should this field be used";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"C";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"D";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"E";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"F";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"G";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:7;}}','size' => '','style' => '','modified' => '1061734964',);
$templ_data[] = array('name' => 'infolog.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";}i:1;a:8:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"Typ";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:20:"Values for selectbox";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"H";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:8:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:4:"size";s:1:"3";s:4:"name";s:13:"${row}[type2]";s:4:"help";s:41:"for which types should this field be used";s:7:"no_lang";s:1:"1";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"C";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"D";a:4:{s:4:"type";s:6:"select";s:4:"name";s:12:"${row}[type]";s:4:"help";s:19:"Type of customfield";s:7:"no_lang";s:1:"1";}s:1:"E";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"F";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"G";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"H";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:8;}}','size' => '','style' => '','modified' => '1061734964',);
$templ_data[] = array('name' => 'infolog.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";}i:1;a:8:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"Typ";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:20:"Values for selectbox";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"H";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:8:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:4:"size";s:1:"3";s:4:"name";s:13:"${row}[type2]";s:4:"help";s:41:"for which types should this field be used";s:7:"no_lang";s:1:"1";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"C";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"D";a:3:{s:4:"type";s:18:"customfields-types";s:4:"name";s:12:"${row}[type]";s:4:"help";s:19:"Type of customfield";}s:1:"E";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"F";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"G";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"H";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:8;}}','size' => '','style' => '','modified' => '1061734964',);
$templ_data[] = array('name' => 'infolog.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.4.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";}i:1;a:8:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"Typ";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:20:"Values for selectbox";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"H";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:8:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:4:"size";s:1:"3";s:4:"name";s:13:"${row}[type2]";s:4:"help";s:41:"for which types should this field be used";s:7:"no_lang";s:1:"1";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"C";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"D";a:3:{s:4:"type";s:18:"customfields-types";s:4:"name";s:12:"${row}[type]";s:4:"help";s:19:"Type of customfield";}s:1:"E";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"F";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"G";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"H";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:8;}}','size' => '','style' => '','modified' => '1061734964',);
$templ_data[] = array('name' => 'infolog.customfields.status','template' => '','lang' => '','group' => '0','version' => '0.9.15.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:1:"E";s:2:",1";s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"Translation";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Default";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"Disabled";}s:1:"F";a:3:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";}}i:2;a:6:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"10,10";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 10 chars), changeing it makes existing data unavailible";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"40";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}s:1:"D";a:5:{s:4:"type";s:5:"radio";s:4:"size";s:15:"$row_cont[name]";s:5:"align";s:6:"center";s:4:"name";s:7:"default";s:4:"help";s:34:"default status for a new log entry";}s:1:"E";a:4:{s:4:"type";s:8:"checkbox";s:5:"align";s:6:"center";s:4:"name";s:16:"${row}[disabled]";s:4:"help";s:37:"disables a status without deleting it";}s:1:"F";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:19:"deletes this status";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:42:"creates a new status with the given values";}}}}s:4:"rows";i:2;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1061730032',);
@ -38,7 +40,7 @@ $templ_data[] = array('name' => 'infolog.edit','template' => '','lang' => '','gr
$templ_data[] = array('name' => 'infolog.edit.customfields','template' => '','lang' => '','group' => '0','version' => '1.0.0.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:12:"customfields";s:4:"name";s:12:"customfields";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:15:"100%,100%,,,0,0";}}','size' => '100%,100%,,,0,0','style' => '','modified' => '1061732462',);
$templ_data[] = array('name' => 'infolog.edit.customfields','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"h2";s:4:"100%";s:2:"h1";s:2:"20";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:13:"Custom fields";}}i:2;a:1:{s:1:"A";a:2:{s:4:"type";s:12:"customfields";s:4:"name";s:12:"customfields";}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:25:"100%,245,,row_on,0,0,auto";s:7:"options";a:6:{i:3;s:6:"row_on";i:0;s:4:"100%";i:1;s:3:"245";i:6;s:4:"auto";i:4;s:1:"0";i:5;s:1:"0";}}}','size' => '100%,245,,row_on,0,0,auto','style' => '','modified' => '1061732462',);
$templ_data[] = array('name' => 'infolog.edit.customfields','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"h2";s:4:"100%";s:2:"h1";s:2:"20";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:13:"Custom fields";}}i:2;a:1:{s:1:"A";a:1:{s:4:"type";s:12:"customfields";}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:25:"100%,245,,row_on,0,0,auto";s:7:"options";a:6:{i:3;s:6:"row_on";i:0;s:4:"100%";i:1;s:3:"245";i:6;s:4:"auto";i:4;s:1:"0";i:5;s:1:"0";}}}','size' => '100%,245,,row_on,0,0,auto','style' => '','modified' => '1061732462',);
$templ_data[] = array('name' => 'infolog.edit.delegation','template' => '','lang' => '','group' => '0','version' => '1.2.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:8:{s:1:"A";s:3:"100";s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";s:2:"c4";s:2:"th";s:2:"c5";s:7:"row,top";s:2:"c6";s:3:"row";s:2:"h6";s:2:",1";s:2:"c3";s:3:"row";}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:3:"all";s:5:"label";s:7:"General";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:8:"Priority";s:4:"size";s:16:",,,info_priority";}s:1:"B";a:3:{s:4:"type";s:6:"select";s:4:"name";s:13:"info_priority";s:4:"help";s:31:"select a priority for this task";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:16:",,,info_location";s:5:"label";s:8:"Location";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:13:"info_location";s:4:"size";s:6:"80,255";}}i:4;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:3:"all";s:5:"label";s:10:"Delegation";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:11:"Responsible";s:4:"size";s:19:",,,info_responsible";}s:1:"B";a:4:{s:4:"type";s:14:"select-account";s:4:"size";s:2:"10";s:4:"name";s:16:"info_responsible";s:4:"help";s:66:"select a responsible user: a person you want to delegate this task";}}i:6;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Confirm";s:4:"size";s:15:",,,info_confirm";}s:1:"B";a:3:{s:4:"type";s:6:"select";s:4:"name";s:12:"info_confirm";s:4:"help";s:87:"do you want a confirmation of the responsible on: accepting, finishing the task or both";}}}s:4:"rows";i:6;s:4:"cols";i:2;s:4:"size";s:8:"100%,245";s:7:"options";a:2:{i:0;s:4:"100%";i:1;s:3:"245";}}}','size' => '100%,245','style' => '','modified' => '1075972977',);

View File

@ -2,7 +2,7 @@
<!-- $Id$ -->
<overlay>
<template id="infolog.customfields.status" template="" lang="" group="0" version="1.2.001">
<grid width="100%" border="0" spacing="0" padding="0">
<grid>
<columns>
<column/>
<column/>
@ -34,7 +34,7 @@
</rows>
</grid>
</template>
<template id="infolog.customfields.fields" template="" lang="" group="0" version="1.3.001">
<template id="infolog.customfields.fields" template="" lang="" group="0" version="1.4.001">
<grid>
<columns>
<column/>
@ -64,9 +64,7 @@
<textbox maxlength="255" id="${row}[label]" statustext="the text displayed to the user"/>
<description id="${row}[label]"/>
</vbox>
<menulist>
<menupopup id="${row}[type]" statustext="Type of customfield" no_lang="1"/>
</menulist>
<customfields-types id="${row}[type]" statustext="Type of customfield"/>
<textbox multiline="true" rows="2" cols="30" id="${row}[values]" statustext="each value is a line like &lt;id&gt;[=&lt;label&gt;]"/>
<vbox options="0,0">
<textbox size="5" id="${row}[len]" statustext="max length of the input [, length of the inputfield (optional)]"/>

View File

@ -121,7 +121,7 @@
<description value="Custom fields"/>
</row>
<row height="100%">
<customfields id="customfields"/>
<customfields/>
</row>
</rows>
</grid>