forked from extern/egroupware
adaption for the new nextmatch feature plus some nice extra columns
This commit is contained in:
parent
6bd5ac2da8
commit
c0b6563e17
@ -149,28 +149,14 @@ class contacts_admin_prefs
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
);
|
||||
$column_display_options = array(
|
||||
'' => lang('only if there is content'),
|
||||
'always' => lang('always'),
|
||||
'never' => lang('never'),
|
||||
$GLOBALS['settings']['no_auto_hide'] = array(
|
||||
'type' => 'check',
|
||||
'label' => 'Don\'t hide empty columns',
|
||||
'name' => 'no_auto_hide',
|
||||
'help' => 'Should the columns photo and home address always be displayed, even if they are empty.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
);
|
||||
foreach(array(
|
||||
'photo_column' => lang('Photo'),
|
||||
'home_column' => lang('Home address'),
|
||||
'custom_colum' => lang('custom fields'),
|
||||
) as $name => $label)
|
||||
{
|
||||
$GLOBALS['settings'][$name] = array(
|
||||
'type' => 'select',
|
||||
'label' => lang('Show a column for %1',$label),
|
||||
'run_lang' => -1,
|
||||
'name' => $name,
|
||||
'values' => $column_display_options,
|
||||
'help' => 'When should the contacts list display that colum. "Only if there is content" hides the column, unless there is some content in the view.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
);
|
||||
}
|
||||
// CSV Export
|
||||
$GLOBALS['settings']['csv_fields'] = array(
|
||||
'type' => 'select',
|
||||
|
@ -161,6 +161,7 @@ class uicontacts extends bocontacts
|
||||
'filter2_no_lang'=> True, // I set no_lang for filter2 (=dont translate the options)
|
||||
'lettersearch' => true,
|
||||
'do_email' => $do_email,
|
||||
'default_cols' => '!cat_id,contact_created_contact_modified',
|
||||
);
|
||||
// use the state of the last session stored in the user prefs
|
||||
if (($state = @unserialize($this->prefs[$do_email ? 'email_state' : 'index_state'])))
|
||||
@ -644,6 +645,10 @@ class uicontacts extends bocontacts
|
||||
case 'adr_one_postalcode':
|
||||
$order = "adr_one_postalcode!='' DESC,adr_one_postalcode $sort,org_name $sort,n_family $sort,n_given $sort";
|
||||
break;
|
||||
case 'contact_modified':
|
||||
case 'contact_created':
|
||||
$order = "$query[order] IS NULL,$query[order] $sort,org_name $sort,n_family $sort,n_given $sort";
|
||||
break;
|
||||
}
|
||||
if ($query['searchletter']) // only show contacts if the order-criteria starts with the given letter
|
||||
{
|
||||
@ -694,7 +699,7 @@ class uicontacts extends bocontacts
|
||||
|
||||
switch($order)
|
||||
{
|
||||
case 'adr_one_postalcode':
|
||||
default: // postalcode, created, modified, ...
|
||||
case 'org_name':
|
||||
$row['line1'] = $row['org_name'];
|
||||
$row['line2'] = $row['n_family'].($given ? ', '.$given : '');
|
||||
@ -772,12 +777,15 @@ class uicontacts extends bocontacts
|
||||
}
|
||||
}
|
||||
}
|
||||
// disable photo column, if view contains no photo(s)
|
||||
if (!$photos || $this->prefs['photo_column'] == 'never') $rows['no_photo'] = '1';
|
||||
if (!$this->prefs['no_auto_hide'])
|
||||
{
|
||||
// disable photo column, if view contains no photo(s)
|
||||
if (!$photos) $rows['no_photo'] = true;
|
||||
// disable homeaddress column, if we have no homeaddress(es)
|
||||
if (!$homeaddress) $rows['no_home'] = true;
|
||||
}
|
||||
// disable customfields column, if we have no customefield(s)
|
||||
if (!$customfields || $this->prefs['custom_column'] == 'never') $rows['no_customfields'] = '1';
|
||||
// disable homeaddress column, if we have no homeaddress(es)
|
||||
if ($homeaddress && !$this->prefs['home_column'] || $this->prefs['home_column'] == 'always') $rows['show_home'] = '1';
|
||||
if (!$customfields) $rows['no_customfields'] = true;
|
||||
|
||||
$rows['order'] = $order;
|
||||
$rows['call_popup'] = $this->config['call_popup'];
|
||||
|
File diff suppressed because one or more lines are too long
@ -104,6 +104,7 @@ do you want a private addressbook, which can not be viewed by users, you grant a
|
||||
do your really want to delete this contact? addressbook de Wollen sie diesen Kontakt wirklich löschen?
|
||||
doesn't matter addressbook de egal
|
||||
domestic addressbook de Wohnung
|
||||
don't hide empty columns addressbook de Leere Spalten nicht ausblenden
|
||||
download addressbook de Herunterladen
|
||||
download export file (uncheck to debug output in browser) addressbook de Download Export-Datei (zur Vorschau im Browser Ankreuzfeld frei lassen)
|
||||
download this contact as vcard file addressbook de Diese Adresse als vCard Datei herunterladen
|
||||
@ -184,8 +185,8 @@ list all customfields addressbook de Liste alle benutzerdefinierten Felder
|
||||
load vcard addressbook de VCard laden
|
||||
locations addressbook de Standorte
|
||||
mark records as private addressbook de Eintrag als Privat kennzeichnen
|
||||
merged addressbook en vereinigt
|
||||
merge into first or account, deletes all other! addressbook en Vereinige im ersten oder Benutzerkonto, löscht alle anderen!
|
||||
merge into first or account, deletes all other! addressbook de Vereinige im ersten oder Benutzerkonto, löscht alle anderen!
|
||||
merged addressbook de vereinigt
|
||||
message phone addressbook de Anrufbeantworter
|
||||
middle name addressbook de Zweiter Vorname
|
||||
migration finished addressbook de Migration beendet
|
||||
@ -200,7 +201,6 @@ name, address addressbook de Name, Adresse
|
||||
no vcard addressbook de Keine VCard
|
||||
number addressbook de Nummer
|
||||
number of records to read (%1) addressbook de Anzahl der einzulesenden Datensätze (%1)
|
||||
only if there is content addressbook de nur wenn etwas angezeigt wird
|
||||
options for type admin de Optionen für Typ
|
||||
organisation addressbook de Organisation
|
||||
organisations addressbook de Organisationen
|
||||
@ -244,8 +244,8 @@ select the type of conversion addressbook de Typ der Umwandlung ausw
|
||||
select the type of conversion: addressbook de Typ der Umwandlung auswählen:
|
||||
select where you want to store / retrieve contacts admin de Auswählen wo Sie Adressen speichern wollen
|
||||
selected contacts addressbook de ausgewählte Kontakte
|
||||
should the columns photo and home address always be displayed, even if they are empty. addressbook de Sollen die Spalten Foto und Privatadresse immer angezeigt werden, auch wenn sie leer sind.
|
||||
show addressbook de Anzeigen
|
||||
show a column for %1 addressbook de Zeige eine %1 Spalte
|
||||
show birthday reminders on main screen addressbook de Geburtstagserinnerungen auf der Startseite anzeigen
|
||||
show infolog entries for this organisation addressbook de InfoLog Einträge dieser Organisation anzeigen
|
||||
show the contacts of this organisation addressbook de Kontakte dieser Organisation anzeigen
|
||||
@ -282,7 +282,6 @@ view linked infolog entries addressbook de Verkn
|
||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin de WARNUNG!! LDAP darf nur verwendet werden, wenn sie die Benutzerkonten nicht im Adressbuch speichern!
|
||||
warning: all contacts found will be deleted! addressbook de WARNUNG: Alle gefundenen Kontakte werden gelöscht!
|
||||
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook de Was sollen Verknüpfungen zum Adressbuch in anderen Anwendungen anzeigen. Leere Werte werden ausgelassen. Sie müssen sich neu anmelden, wenn Sie hier eine Änderung vornehmen!
|
||||
when should the contacts list display that colum. "only if there is content" hides the column, unless there is some content in the view. addressbook de Wann soll die Adressliste diese Spalte anzeigen. "Nur wenn etwas angezeigt wird" blendet die Spalte aus, wenn Sie in dieser Anzeige leer wäre.
|
||||
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook de Welches Adressbuch soll ausgewählt sein beim Hinzfügen von Kontakten, wenn Sie keine Hinzufügen Rechte zum aktuellen Adressbuch haben.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook de Welcher Zeichensatz soll für den CSV Export verwendet werden. Die systemweite Vorgabe ist der Zeichensatz der eGroupWare Installation.
|
||||
which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook de Welche Felder sollen exportiert werden. Alle bedeutet jedes Feld das im Adressbuch gespeichert ist einschl. der benutzerdefinierten Felder. Die Geschäfts- oder Privatadresse enthält nur Name, Firma und die ausgewählte Adresse.
|
||||
|
@ -104,6 +104,7 @@ do you want a private addressbook, which can not be viewed by users, you grant a
|
||||
do your really want to delete this contact? addressbook en Do your really want to delete this contact?
|
||||
doesn't matter addressbook en doesn't matter
|
||||
domestic addressbook en Domestic
|
||||
don't hide empty columns addressbook en Don't hide empty columns
|
||||
download addressbook en Download
|
||||
download export file (uncheck to debug output in browser) addressbook en Download export file (Uncheck to debug output in browser)
|
||||
download this contact as vcard file addressbook en download this contact as vCard file
|
||||
@ -184,8 +185,8 @@ list all customfields addressbook en List all customfields
|
||||
load vcard addressbook en Load VCard
|
||||
locations addressbook en locations
|
||||
mark records as private addressbook en Mark records as private
|
||||
merged addressbook en merged
|
||||
merge into first or account, deletes all other! addressbook en Merge into first or account, deletes all other!
|
||||
merged addressbook en merged
|
||||
message phone addressbook en Message Phone
|
||||
middle name addressbook en Middle Name
|
||||
migration finished addressbook en Migration finished
|
||||
@ -200,7 +201,6 @@ name, address addressbook en Name, Address
|
||||
no vcard addressbook en No VCard
|
||||
number addressbook en Number
|
||||
number of records to read (%1) addressbook en Number of records to read (%1)
|
||||
only if there is content addressbook en only if there is content
|
||||
options for type admin en Options for type
|
||||
organisation addressbook en organisation
|
||||
organisations addressbook en Organisations
|
||||
@ -244,8 +244,8 @@ select the type of conversion addressbook en Select the type of conversion
|
||||
select the type of conversion: addressbook en Select the type of conversion:
|
||||
select where you want to store / retrieve contacts admin en Select where you want to store / retrieve contacts
|
||||
selected contacts addressbook en selected contacts
|
||||
should the columns photo and home address always be displayed, even if they are empty. addressbook en Should the columns photo and home address always be displayed, even if they are empty.
|
||||
show addressbook en Show
|
||||
show a column for %1 addressbook en Show a column for %1
|
||||
show birthday reminders on main screen addressbook en Show birthday reminders on main screen
|
||||
show infolog entries for this organisation addressbook en Show InfoLog entries for this organisation
|
||||
show the contacts of this organisation addressbook en Show the contacts of this organisation
|
||||
@ -282,7 +282,6 @@ view linked infolog entries addressbook en View linked InfoLog entries
|
||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin en WARNING!! LDAP is valid only if you are NOT using contacts for accounts storage!
|
||||
warning: all contacts found will be deleted! addressbook en WARNING: All contacts found will be deleted!
|
||||
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook en What should links to the addressbook display in other applications. Empty values will be left out. You need to log in anew, if you change this setting!
|
||||
when should the contacts list display that colum. "only if there is content" hides the column, unless there is some content in the view. addressbook en When should the contacts list display that colum. "Only if there is content" hides the column, unless there is some content in the view.
|
||||
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook en Which addressbook should be selected when adding a contact AND you have no add rights to the current addressbook.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook en Which charset should be used for the CSV export. The system default is the charset of this eGroupWare installation.
|
||||
which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook en Which fields should be exported. All means every field stored in the addressbook incl. the custom fields. The business or home address only contains name, company and the selected address.
|
||||
|
@ -70,3 +70,6 @@
|
||||
.space{
|
||||
width: 80px;
|
||||
}
|
||||
.noWrap{
|
||||
white-space: nowrap;
|
||||
}
|
@ -9,26 +9,15 @@
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column disabled="@no_customfields"/>
|
||||
<column width="90"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row class="th">
|
||||
<description/>
|
||||
<description value="#" align="center"/>
|
||||
<nextmatch-header label="#" align="center" id="number"/>
|
||||
<nextmatch-sortheader id="org_name" label="Organisation"/>
|
||||
<description value="department"/>
|
||||
<nextmatch-header label="Department" id="org_unit"/>
|
||||
<description value="Business address"/>
|
||||
<grid spacing="0" padding="0">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<description no_lang="1" id="customfields[$row][label]"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<hbox align="center" class="noPrint">
|
||||
<description value="Actions" align="center"/>
|
||||
<button image="check" label="Check all" id="check_all" statustext="Check all" onclick="toggle_all(this.form,form::name('checked[]')); return false;" needed="1" align="right"/>
|
||||
@ -48,16 +37,6 @@
|
||||
<description no_lang="1" id="${row}[adr_one_street]"/>
|
||||
<description id="${row}[adr_one_street2]" no_lang="1"/>
|
||||
</vbox>
|
||||
<grid height="60" spacing="0" padding="0" overflow="auto">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<description class="fixedHeight" id="$row" no_lang="1"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<hbox options="0" class="noPrint" orient="0">
|
||||
<button image="view" label="View" id="view[$row_cont[id]]" statustext="Show the contacts of this organisation"/>
|
||||
<button image="new" label="Add" onclick="window.open(egw::link('/index.php','menuaction=addressbook.uicontacts.edit&org=$row_cont[id]'),'_blank','dependent=yes,width=850,height=440,scrollbars=yes,status=yes'); return false;" id="add[$row_cont[id]]" statustext="Add a contact to this organisation"/>
|
||||
|
@ -14,14 +14,16 @@
|
||||
<template id="addressbook.index.rows" template="" lang="" group="0" version="1.3.001">
|
||||
<grid width="100%">
|
||||
<columns>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column width="60" disabled="@no_photo"/>
|
||||
<column/>
|
||||
<column disabled="!@show_home"/>
|
||||
<column disabled="@no_home"/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column disabled="@no_customfields"/>
|
||||
<column/>
|
||||
<column width="90"/>
|
||||
</columns>
|
||||
<rows>
|
||||
@ -47,7 +49,7 @@
|
||||
<row>
|
||||
<nextmatch-sortheader id="org_name" label="Organisation" span="all"/>
|
||||
</row>
|
||||
<row disabled="!@order=/^(org_name|n_fileas|adr_one_postalcode)$/">
|
||||
<row disabled="!@order=/^(org_name|n_fileas|adr_one_postalcode|contact_modified|contact_created)$/">
|
||||
<nextmatch-sortheader id="n_family" label="Name"/>
|
||||
<nextmatch-sortheader id="n_given" label="Firstname" class="leftPad5"/>
|
||||
</row>
|
||||
@ -56,33 +58,41 @@
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<description value="Photo"/>
|
||||
<nextmatch-header label="Category" id="cat_id"/>
|
||||
<nextmatch-header label="Photo" id="photo"/>
|
||||
<vbox options="0,0">
|
||||
<description value="Business address"/>
|
||||
<nextmatch-header label="Business address" id="business"/>
|
||||
<nextmatch-customfilter id="adr_one_countryname" options="select-country,Country,1" class="countrySelect"/>
|
||||
<nextmatch-sortheader id="adr_one_postalcode" label="zip code"/>
|
||||
</vbox>
|
||||
<description value="Home address"/>
|
||||
<nextmatch-header label="Home address" id="home"/>
|
||||
<vbox options="0,0">
|
||||
<description id="tel_work" value="Business phone"/>
|
||||
<description value="Mobile phone" id="tel_cell"/>
|
||||
<description id="tel_home" value="Home phone"/>
|
||||
<nextmatch-header id="tel_work" label="Business phone"/>
|
||||
<nextmatch-header label="Mobile phone" id="tel_cell"/>
|
||||
<nextmatch-header id="tel_home" label="Home phone"/>
|
||||
</vbox>
|
||||
<vbox options="0,0">
|
||||
<description id="url" value="Url"/>
|
||||
<description value="Business email" id="email"/>
|
||||
<description id="email_home" value="Home email"/>
|
||||
<nextmatch-header id="url" label="Url"/>
|
||||
<nextmatch-header label="Business email" id="email"/>
|
||||
<nextmatch-header id="email_home" label="Home email"/>
|
||||
</vbox>
|
||||
<vbox options="0,0">
|
||||
<nextmatch-header id="customfields" options="Custom fields"/>
|
||||
<grid spacing="0" padding="0">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<description no_lang="1" id="customfields[$row][label]"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</vbox>
|
||||
<vbox options="0,0">
|
||||
<nextmatch-sortheader id="contact_created" label="Created"/>
|
||||
<nextmatch-sortheader id="contact_modified" label="Last modified"/>
|
||||
</vbox>
|
||||
<grid spacing="0" padding="0">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<description no_lang="1" id="customfields[$row][label]"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<hbox align="center" class="noPrint">
|
||||
<description value="Actions" align="center"/>
|
||||
<button image="check" label="Check all" id="check_all" statustext="Check all" onclick="toggle_all(this.form,form::name('checked[]')); return false;" needed="1" align="right"/>
|
||||
@ -97,6 +107,9 @@
|
||||
<description id="${row}[title]" no_lang="1"/>
|
||||
<description id="${row}[first_org]" no_lang="1"/>
|
||||
</vbox>
|
||||
<menulist>
|
||||
<menupopup type="select-cat" options="1" id="${row}[cat_id]" readonly="true"/>
|
||||
</menulist>
|
||||
<image src="${row}[photo]"/>
|
||||
<vbox options="0,0">
|
||||
<description id="${row}[adr_one_countryname]" no_lang="1"/>
|
||||
@ -127,16 +140,26 @@
|
||||
<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">
|
||||
<grid height="48" border="0" spacing="0" padding="0" overflow="auto" id="${row}[customfields]">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<description class="fixedHeight" id="$row" no_lang="1"/>
|
||||
<description class="fixedHeight" no_lang="1" id="$row"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<vbox options="0,0">
|
||||
<date-time id="${row}[created]" readonly="true" class="noWrap"/>
|
||||
<menulist>
|
||||
<menupopup type="select-account" id="${row}[creator]" readonly="true"/>
|
||||
</menulist>
|
||||
<date-time id="${row}[modified]" readonly="true" class="noBreak"/>
|
||||
<menulist>
|
||||
<menupopup type="select-account" id="${row}[modifier]" readonly="true"/>
|
||||
</menulist>
|
||||
</vbox>
|
||||
<hbox options="0" class="noPrint" orient="0">
|
||||
<image options="addressbook.uicontacts.view&contact_id=$row_cont[id]" label="View" src="view"/>
|
||||
<button image="edit" label="Edit" onclick="window.open(egw::link('/index.php','menuaction=addressbook.uicontacts.edit&contact_id=$row_cont[id]'),'_blank','dependent=yes,width=850,height=440,scrollbars=yes,status=yes'); return false;" id="edit[$row_cont[id]]"/>
|
||||
|
@ -313,6 +313,17 @@ class uiinfolog
|
||||
$ids = array( );
|
||||
}
|
||||
$details = $query['filter2'] == 'all';
|
||||
// add a '-details' to the name of the columnselection pref
|
||||
if ($details)
|
||||
{
|
||||
$query['columnselection_pref'] = (is_object($query['template'])?$query['template']->name:'infolog.index.rows').'-details';
|
||||
$query['default_cols'] = '!cat_id,info_used_time_info_planned_time,info_id';
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($query['columnselection_pref']); // it might be set
|
||||
$query['default_cols'] = '!cat_id,info_datemodified,info_used_time_info_planned_time,info_id';
|
||||
}
|
||||
$readonlys = $rows = array();
|
||||
foreach($ids as $id => $info)
|
||||
{
|
||||
@ -324,13 +335,17 @@ class uiinfolog
|
||||
}
|
||||
$rows[] = $info;
|
||||
}
|
||||
if ($query['cat_id']) $rows['no_cat_id'] = true;
|
||||
if ($query['no_actions']) $rows['no_actions'] = true;
|
||||
$rows['no_modified'] = !$this->prefs['show_modified'] || $this->prefs['show_modified'] == 2 && !$details;
|
||||
$rows['no_times'] = !$this->prefs['show_times'] || $this->prefs['show_times'] == 2 && !$details;
|
||||
$rows['no_timesheet'] = !isset($GLOBALS['egw_info']['user']['apps']['timesheet']);
|
||||
$rows['duration_format'] = ','.$this->duration_format.',,1';
|
||||
$rows['no_users'] = $GLOBALS['egw_info']['user']['preferences']['common']['account_selection'] == 'none' &&
|
||||
!isset($GLOBALS['egw_info']['user']['apps']['admin']);
|
||||
if ($GLOBALS['egw_info']['user']['preferences']['common']['account_selection'] == 'none' &&
|
||||
!isset($GLOBALS['egw_info']['user']['apps']['admin']))
|
||||
{
|
||||
$rows['no_info_owner_info_responsible'] = true;
|
||||
// dont show owner, responsible in the columnselection
|
||||
$query['options-selectcols']['info_owner'] = $query['options-selectcols']['info_responsible'] = false;
|
||||
}
|
||||
//echo "<p>readonlys = "; _debug_array($readonlys);
|
||||
//echo "rows=<pre>".print_r($rows,True)."</pre>\n";
|
||||
|
||||
@ -482,7 +497,6 @@ class uiinfolog
|
||||
break;
|
||||
}
|
||||
$values['main'][1] = $this->get_info($action_id,$readonlys['main']);
|
||||
$values['main']['no_times'] = !$this->prefs['show_times'];
|
||||
break;
|
||||
}
|
||||
$readonlys['cancel'] = $action != 'sp';
|
||||
@ -498,6 +512,15 @@ class uiinfolog
|
||||
'all' => 'details',
|
||||
);
|
||||
if(!isset($values['nm']['filter2'])) $values['nm']['filter2'] = $this->prefs['show_links'];
|
||||
// disable columns for main entry as set in the pref for details or no details
|
||||
if ($action == 'sp')
|
||||
{
|
||||
$pref = 'nextmatch-infolog.index.rows'.($values['nm']['filter2']=='all'?'-details':'');
|
||||
foreach(array('info_used_time_info_planned_time','info_datemodified','info_owner_info_responsible') as $name)
|
||||
{
|
||||
$values['main']['no_'.$name] = strstr($this->prefs[$pref],$name) === false;
|
||||
}
|
||||
}
|
||||
$values['nm']['header_right'] = 'infolog.index.header_right';
|
||||
if ($extra_app_header)
|
||||
{
|
||||
|
@ -86,15 +86,6 @@
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'show_times' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Show times',
|
||||
'name' => 'show_times',
|
||||
'values' => $show_details,
|
||||
'help' => 'Show a column for used and planned times in the list.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'show_percent' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Show status and percent done separate',
|
||||
@ -113,15 +104,6 @@
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'show_modified' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Show last modified',
|
||||
'name' => 'show_modified',
|
||||
'values' => $show_details,
|
||||
'help' => 'Should the Infolog list show the column "last modified".',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'set_start' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Startdate for new entries',
|
||||
|
File diff suppressed because one or more lines are too long
@ -13,13 +13,13 @@
|
||||
<button image="note" label="Note" id="add[note]" statustext="Add a new Note" onclick="window.open(egw::link('/index.php','menuaction=infolog.uiinfolog.edit&type=note&action=$cont[action]&action_id=$cont[action_id]'),'_blank','dependent=yes,width=750,height=600,scrollbars=yes,status=yes'); return false;"/>
|
||||
</hbox>
|
||||
</template>
|
||||
<template id="infolog.index.rows-noheader" template="" lang="" group="0" version="1.3.002">
|
||||
<template id="infolog.index.rows-noheader" template="" lang="" group="0" version="1.3.003">
|
||||
<grid>
|
||||
<columns>
|
||||
<column width="2%"/>
|
||||
<column/>
|
||||
<column width="120"/>
|
||||
<column disabled="@no_times"/>
|
||||
<column disabled="@no_info_used_time_info_planned_time"/>
|
||||
<column width="8%" disabled="@no_users"/>
|
||||
<column width="12%" disabled="@no_modified"/>
|
||||
<column width="3%" disabled="@no_actions"/>
|
||||
@ -112,7 +112,7 @@
|
||||
<column width="2%"/>
|
||||
<column/>
|
||||
<column width="120"/>
|
||||
<column disabled="@no_times"/>
|
||||
<column/>
|
||||
<column width="8%" disabled="@no_users"/>
|
||||
<column width="12%" disabled="@no_modified"/>
|
||||
<column width="3%" disabled="@no_actions"/>
|
||||
@ -175,7 +175,7 @@
|
||||
<description class="$row_cont[sub_class]" no_lang="1" id="${row}[info_subject]"/>
|
||||
<description no_lang="1" align="right" id="{$row}[info_number]" class="infoId"/>
|
||||
</hbox>
|
||||
<description options=",,1" no_lang="1" id="${row}[info_des]"/>
|
||||
<description no_lang="1" id="${row}[info_des]" options=",,1"/>
|
||||
<link-string id="${row}[filelinks]"/>
|
||||
</vbox>
|
||||
<vbox options="0,0,1" rows="3" cols="1">
|
||||
|
@ -526,7 +526,7 @@ class uitimesheet extends botimesheet
|
||||
$row['titleClass'] = 'titleDetails';
|
||||
}
|
||||
}
|
||||
$rows['no_cats'] = !$have_cats;
|
||||
if (!$have_cats || $query['cat_id']) $rows['no_cat_id'] = true;
|
||||
if ($query['col_filter']['ts_owner']) $rows['ownerClass'] = 'noPrint';
|
||||
$rows['no_owner_col'] = $query['no_owner_col'];
|
||||
if ($query['filter'])
|
||||
|
@ -2,7 +2,7 @@
|
||||
/**
|
||||
* eGroupWare - eTemplates for Application timesheet
|
||||
* http://www.egroupware.org
|
||||
* generated by soetemplate::dump4setup() 2007-01-12 01:04
|
||||
* generated by soetemplate::dump4setup() 2007-03-04 12:23
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package timesheet
|
||||
@ -44,5 +44,5 @@ $templ_data[] = array('name' => 'timesheet.index.dates','template' => '','lang'
|
||||
|
||||
$templ_data[] = array('name' => 'timesheet.index.rows','template' => '','lang' => '','group' => '0','version' => '0.1.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:5:{s:2:"c1";s:2:"th";s:2:"c2";s:16:"$row_cont[class]";s:1:"A";s:3:"15%";s:1:"G";s:14:",@no_owner_col";s:1:"B";s:3:"50%";}i:1;a:8:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Date";s:4:"name";s:8:"ts_start";}s:1:"B";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";s:7:"no_lang";s:1:"1";i:1;a:4:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"size";s:7:"Project";s:4:"name";s:10:"ts_project";s:7:"no_lang";s:1:"1";}i:2;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Title";s:4:"name";s:8:"ts_title";}}s:1:"C";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Duration";s:4:"name";s:11:"ts_duration";}i:2;a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:8:"duration";s:4:"size";s:6:",h,,,1";s:8:"readonly";s:1:"1";}}s:1:"D";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Quantity";s:4:"name";s:11:"ts_quantity";}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Price";s:4:"name";s:12:"ts_unitprice";}s:1:"F";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Total";s:4:"name";s:8:"ts_total";}i:2;a:4:{s:4:"type";s:5:"float";s:4:"name";s:5:"price";s:8:"readonly";s:1:"1";s:4:"size";s:4:",,,2";}}s:1:"G";a:5:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"name";s:8:"ts_owner";s:4:"size";s:4:"User";s:7:"no_lang";s:1:"1";s:4:"span";s:18:",$cont[ownerClass]";}s:1:"H";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";s:4:"span";s:8:",noPrint";}}i:2;a:8:{s:1:"A";a:4:{s:4:"type";s:9:"date-time";s:4:"name";s:16:"${row}[ts_start]";s:8:"readonly";s:1:"1";s:4:"size";s:2:",8";}s:1:"B";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:4:"link";s:4:"name";s:15:"${row}[ts_link]";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[ts_title]";s:7:"no_lang";s:1:"1";s:4:"span";s:22:",$row_cont[titleClass]";}i:3;a:3:{s:4:"type";s:5:"label";s:4:"name";s:22:"${row}[ts_description]";s:7:"no_lang";s:1:"1";}}s:1:"C";a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:19:"${row}[ts_duration]";s:8:"readonly";s:1:"1";s:4:"size";s:6:",h,,,1";}s:1:"D";a:5:{s:4:"type";s:5:"float";s:4:"name";s:19:"${row}[ts_quantity]";s:7:"no_lang";s:1:"1";s:4:"size";s:4:",,,3";s:8:"readonly";s:1:"1";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:20:"${row}[ts_unitprice]";}s:1:"F";a:5:{s:4:"type";s:5:"float";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[ts_total]";s:4:"size";s:4:",,,2";s:8:"readonly";s:1:"1";}s:1:"G";a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:16:"${row}[ts_owner]";s:8:"readonly";s:1:"1";s:4:"span";s:18:",$cont[ownerClass]";}s:1:"H";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"view";s:5:"label";s:4:"View";s:4:"name";s:22:"view[$row_cont[ts_id]]";s:7:"onclick";s:186:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.uitimesheet.view&ts_id=$row_cont[ts_id]\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";s:4:"help";s:15:"View this entry";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:4:"name";s:22:"edit[$row_cont[ts_id]]";s:4:"help";s:15:"Edit this entry";s:7:"onclick";s:186:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.uitimesheet.edit&ts_id=$row_cont[ts_id]\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";}i:3;a:6:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"name";s:24:"delete[$row_cont[ts_id]]";s:4:"help";s:17:"Delete this entry";s:7:"onclick";s:36:"return confirm(\'Delete this entry\');";}s:4:"span";s:8:",noPrint";}}}s:4:"rows";i:2;s:4:"cols";i:8;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1134799629',);
|
||||
|
||||
$templ_data[] = array('name' => 'timesheet.index.rows','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:6:{s:2:"c1";s:2:"th";s:2:"c2";s:16:"$row_cont[class]";s:1:"A";s:3:"15%";s:1:"B";s:3:"50%";s:1:"H";s:14:",@no_owner_col";s:1:"C";s:9:",@no_cats";}i:1;a:9:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Date";s:4:"name";s:8:"ts_start";}s:1:"B";a:7:{s:4:"type";s:4:"grid";s:7:"no_lang";s:1:"1";s:4:"data";a:4:{i:0;a:2:{s:2:"h1";s:21:",@pm_integration=full";s:2:"h2";s:22:",!@pm_integration=full";}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"size";s:12:"All projects";s:4:"name";s:10:"ts_project";s:7:"no_lang";s:1:"1";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:22:"nextmatch-customfilter";s:4:"size";s:34:"projectmanager-select,All projects";s:4:"name";s:5:"pm_id";s:8:"onchange";i:1;}}i:3;a:1:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Title";s:4:"name";s:8:"ts_title";}}}s:4:"rows";i:3;s:4:"cols";i:1;s:7:"options";a:2:{i:4;s:1:"1";i:5;s:1:"1";}s:4:"size";s:7:",,,,1,1";}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";}s:1:"D";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Duration";s:4:"name";s:11:"ts_duration";}i:2;a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:8:"duration";s:4:"size";s:6:",h,,,1";s:8:"readonly";s:1:"1";}}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Quantity";s:4:"name";s:11:"ts_quantity";}s:1:"F";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Price";s:4:"name";s:12:"ts_unitprice";}s:1:"G";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Total";s:4:"name";s:8:"ts_total";}i:2;a:4:{s:4:"type";s:5:"float";s:4:"name";s:5:"price";s:8:"readonly";s:1:"1";s:4:"size";s:4:",,,2";}}s:1:"H";a:5:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"name";s:8:"ts_owner";s:4:"size";s:4:"User";s:7:"no_lang";s:1:"1";s:4:"span";s:18:",$cont[ownerClass]";}s:1:"I";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";s:4:"span";s:8:",noPrint";}}i:2;a:9:{s:1:"A";a:4:{s:4:"type";s:9:"date-time";s:4:"name";s:16:"${row}[ts_start]";s:8:"readonly";s:1:"1";s:4:"size";s:2:",8";}s:1:"B";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:4:"link";s:4:"name";s:15:"${row}[ts_link]";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[ts_title]";s:7:"no_lang";s:1:"1";s:4:"span";s:22:",$row_cont[titleClass]";}i:3;a:3:{s:4:"type";s:5:"label";s:4:"name";s:22:"${row}[ts_description]";s:7:"no_lang";s:1:"1";}}s:1:"C";a:4:{s:4:"type";s:10:"select-cat";s:8:"readonly";s:1:"1";s:4:"name";s:14:"${row}[cat_id]";s:4:"span";s:7:",noWrap";}s:1:"D";a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:19:"${row}[ts_duration]";s:8:"readonly";s:1:"1";s:4:"size";s:6:",h,,,1";}s:1:"E";a:5:{s:4:"type";s:5:"float";s:4:"name";s:19:"${row}[ts_quantity]";s:7:"no_lang";s:1:"1";s:4:"size";s:4:",,,3";s:8:"readonly";s:1:"1";}s:1:"F";a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:20:"${row}[ts_unitprice]";}s:1:"G";a:5:{s:4:"type";s:5:"float";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[ts_total]";s:4:"size";s:4:",,,2";s:8:"readonly";s:1:"1";}s:1:"H";a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:16:"${row}[ts_owner]";s:8:"readonly";s:1:"1";s:4:"span";s:18:",$cont[ownerClass]";}s:1:"I";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"view";s:5:"label";s:4:"View";s:4:"name";s:22:"view[$row_cont[ts_id]]";s:7:"onclick";s:186:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.uitimesheet.view&ts_id=$row_cont[ts_id]\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";s:4:"help";s:15:"View this entry";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:4:"name";s:22:"edit[$row_cont[ts_id]]";s:4:"help";s:15:"Edit this entry";s:7:"onclick";s:186:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.uitimesheet.edit&ts_id=$row_cont[ts_id]\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";}i:3;a:6:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"name";s:24:"delete[$row_cont[ts_id]]";s:4:"help";s:17:"Delete this entry";s:7:"onclick";s:36:"return confirm(\'Delete this entry\');";}s:4:"span";s:8:",noPrint";}}}s:4:"rows";i:2;s:4:"cols";i:9;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1134799629',);
|
||||
$templ_data[] = array('name' => 'timesheet.index.rows','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:6:{s:2:"c1";s:2:"th";s:2:"c2";s:16:"$row_cont[class]";s:1:"A";s:3:"15%";s:1:"B";s:3:"50%";s:1:"H";s:14:",@no_owner_col";s:1:"C";s:11:",@no_cat_id";}i:1;a:9:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Date";s:4:"name";s:8:"ts_start";}s:1:"B";a:7:{s:4:"type";s:4:"grid";s:7:"no_lang";s:1:"1";s:4:"data";a:4:{i:0;a:2:{s:2:"h1";s:21:",@pm_integration=full";s:2:"h2";s:22:",!@pm_integration=full";}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"size";s:12:"All projects";s:4:"name";s:10:"ts_project";s:7:"no_lang";s:1:"1";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:22:"nextmatch-customfilter";s:4:"size";s:34:"projectmanager-select,All projects";s:4:"name";s:5:"pm_id";s:8:"onchange";i:1;}}i:3;a:1:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Title";s:4:"name";s:8:"ts_title";}}}s:4:"rows";i:3;s:4:"cols";i:1;s:7:"options";a:2:{i:4;s:1:"1";i:5;s:1:"1";}s:4:"size";s:7:",,,,1,1";}s:1:"C";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";}s:1:"D";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Duration";s:4:"name";s:11:"ts_duration";}i:2;a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:8:"duration";s:4:"size";s:6:",h,,,1";s:8:"readonly";s:1:"1";}}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Quantity";s:4:"name";s:11:"ts_quantity";}s:1:"F";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Price";s:4:"name";s:12:"ts_unitprice";}s:1:"G";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Total";s:4:"name";s:8:"ts_total";}i:2;a:4:{s:4:"type";s:5:"float";s:4:"name";s:5:"price";s:8:"readonly";s:1:"1";s:4:"size";s:4:",,,2";}}s:1:"H";a:5:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"name";s:8:"ts_owner";s:4:"size";s:4:"User";s:7:"no_lang";s:1:"1";s:4:"span";s:18:",$cont[ownerClass]";}s:1:"I";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";s:4:"span";s:8:",noPrint";}}i:2;a:9:{s:1:"A";a:4:{s:4:"type";s:9:"date-time";s:4:"name";s:16:"${row}[ts_start]";s:8:"readonly";s:1:"1";s:4:"size";s:2:",8";}s:1:"B";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:4:"link";s:4:"name";s:15:"${row}[ts_link]";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:5:"label";s:4:"name";s:16:"${row}[ts_title]";s:7:"no_lang";s:1:"1";s:4:"span";s:22:",$row_cont[titleClass]";}i:3;a:3:{s:4:"type";s:5:"label";s:4:"name";s:22:"${row}[ts_description]";s:7:"no_lang";s:1:"1";}}s:1:"C";a:4:{s:4:"type";s:10:"select-cat";s:8:"readonly";s:1:"1";s:4:"name";s:14:"${row}[cat_id]";s:4:"span";s:7:",noWrap";}s:1:"D";a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:19:"${row}[ts_duration]";s:8:"readonly";s:1:"1";s:4:"size";s:6:",h,,,1";}s:1:"E";a:5:{s:4:"type";s:5:"float";s:4:"name";s:19:"${row}[ts_quantity]";s:7:"no_lang";s:1:"1";s:4:"size";s:4:",,,3";s:8:"readonly";s:1:"1";}s:1:"F";a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:20:"${row}[ts_unitprice]";}s:1:"G";a:5:{s:4:"type";s:5:"float";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[ts_total]";s:4:"size";s:4:",,,2";s:8:"readonly";s:1:"1";}s:1:"H";a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:16:"${row}[ts_owner]";s:8:"readonly";s:1:"1";s:4:"span";s:18:",$cont[ownerClass]";}s:1:"I";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"view";s:5:"label";s:4:"View";s:4:"name";s:22:"view[$row_cont[ts_id]]";s:7:"onclick";s:186:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.uitimesheet.view&ts_id=$row_cont[ts_id]\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";s:4:"help";s:15:"View this entry";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:4:"name";s:22:"edit[$row_cont[ts_id]]";s:4:"help";s:15:"Edit this entry";s:7:"onclick";s:186:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.uitimesheet.edit&ts_id=$row_cont[ts_id]\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";}i:3;a:6:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"name";s:24:"delete[$row_cont[ts_id]]";s:4:"help";s:17:"Delete this entry";s:7:"onclick";s:36:"return confirm(\'Delete this entry\');";}s:4:"span";s:8:",noPrint";}}}s:4:"rows";i:2;s:4:"cols";i:9;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1134799629',);
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
<columns>
|
||||
<column width="15%"/>
|
||||
<column width="50%"/>
|
||||
<column disabled="@no_cats"/>
|
||||
<column disabled="@no_cat_id"/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
@ -47,7 +47,7 @@
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<nextmatch-sortheader label="Category" id="cat_id"/>
|
||||
<nextmatch-header label="Category" id="cat_id"/>
|
||||
<vbox>
|
||||
<nextmatch-sortheader label="Duration" id="ts_duration"/>
|
||||
<date-duration id="duration" options=",h,,,1" readonly="true"/>
|
||||
|
Loading…
Reference in New Issue
Block a user