diff --git a/etemplate/inc/class.etemplate.inc.php b/etemplate/inc/class.etemplate.inc.php
index 75ad752441..957b9424fc 100644
--- a/etemplate/inc/class.etemplate.inc.php
+++ b/etemplate/inc/class.etemplate.inc.php
@@ -979,9 +979,9 @@ class etemplate extends boetemplate
'.$prefix.'actionManager = new egwActionManager();
'.$prefix.'objectManager = new egwActionObjectManager("", '.$prefix.'actionManager);
- // Add some dummy actions to the actionManager
'.$prefix.'actionManager.updateActions('.str_replace('},',"},\n",
json_encode(nextmatch_widget::egw_actions($content['_actions'], $this->name))).');
+ '.$prefix.'actionManager.setDefaultExecute("javaScript:nm_action");
var actionLinks = ['.($content['_actions'] ? '"'.implode('","', isset($content['_actions_enabled']) ?
$content['_actions_enabled'] : array_keys($content['_actions'])).'"' : '').'];
diff --git a/etemplate/inc/class.nextmatch_widget.inc.php b/etemplate/inc/class.nextmatch_widget.inc.php
index 768c873fc0..e846d4e252 100644
--- a/etemplate/inc/class.nextmatch_widget.inc.php
+++ b/etemplate/inc/class.nextmatch_widget.inc.php
@@ -528,13 +528,15 @@ class nextmatch_widget
* - string 'onExecute' javascript to run, default 'javascript:nm_action' which runs action specified in nm_action attribute:
* - string 'nm_action'
* + 'alert' debug action, shows alert with action caption, id and id's of selected rows
- * + 'submit' default action, sets nm[action], nm[selected]
+ * + 'submit' default action, sets nm[action], nm[selected] and nm[select_all]
* + 'location' redirects / set location.href to 'url' attribute
* + 'popup' opens popup with url given in 'url' attribute
* - string 'url' url for location or popup
* - string 'target' target for location or popup
* - string 'width' for popup
* - string 'height' for popup
+ * - string 'confirm' confirmation message
+ * - string 'confirm_multiple' confirmation message for multiple selected, defaults to 'confirm'
*
* That's what we should return looks JSON encoded like
* [
@@ -574,13 +576,6 @@ class nextmatch_widget
if (!is_array($action)) $action = array('caption' => $action);
$action['id'] = $prefix.$id;
- // set some defaults
- if (!isset($action['type'])) $action['type'] = 'popup';
- if (!isset($action['onExecute']))
- {
- $action['onExecute'] = 'javaScript:nm_action'; // defined in etemplate/js/nextmatch_action.js
- }
-
// set default icon, if no other is specified
if (!isset($action['icon']) && isset($default_icons[$id]))
{
@@ -599,12 +594,19 @@ class nextmatch_widget
unset($action['icon']); // no need to submit it
}
// translate labels
- if (!$action['no_lang']) $action['caption'] = lang($action['caption']);
+ if (!$action['no_lang'])
+ {
+ $action['caption'] = lang($action['caption']);
+ if ($action['hint']) $action['hint'] = lang($action['hint']);
+ }
unset($action['no_lang']);
- if (isset($action['confirm']))
+ foreach(array('confirm','confirm_multiple') as $confirm)
{
- $action['confirm'] = lang($action['confirm']).(substr($action['confirm'],-1) != '?' ? '?' : '');
+ if (isset($action[$confirm]))
+ {
+ $action[$confirm] = lang($action[$confirm]).(substr($action[$confirm],-1) != '?' ? '?' : '');
+ }
}
// link or popup action
@@ -633,6 +635,7 @@ class nextmatch_widget
static $egw_action_supported = array( // attributes supported by egw_action
'id','caption','iconUrl','type','default','onExecute','group',
'enabled','allowOnMultiple','hideOnDisabled','data','children',
+ 'hint','checkbox','checked','radioGroup',
);
// add all not egw_action supported attributes to data
$action['data'] = array_merge(array_diff_key($action, array_flip($egw_action_supported)),(array)$action['data']);
diff --git a/etemplate/js/nextmatch_action.js b/etemplate/js/nextmatch_action.js
index be1b67b015..647d70820c 100644
--- a/etemplate/js/nextmatch_action.js
+++ b/etemplate/js/nextmatch_action.js
@@ -100,13 +100,18 @@ function nm_action(_action, _senders)
ids += (_senders[i].id.indexOf(',') >= 0 ? '"'+_senders[i].id.replace(/"/g,'""')+'"' : _senders[i].id) +
((i < _senders.length - 1) ? "," : "");
}
- console.log(_action);
- console.log(_senders);
+ //console.log(_action); console.log(_senders);
- // let user confirm the action first
- if (typeof _action.data.confirm != 'undefined')
+ var select_all = document.getElementById('exec[nm][select_all]');
+
+ // let user confirm the action first (if not select_all set and nm_action == 'submit' --> confirmed later)
+ if (!(select_all && select_all.value && _action.data.nm_action == 'submit') &&
+ typeof _action.data.confirm != 'undefined')
{
- if (!confirm(_action.data.confirm)) return;
+ var confirm_msg = _senders.length > 1 && typeof _action.data.confirm_multiple != 'undefined' ?
+ _action.data.confirm_multiple : _action.data.confirm;
+
+ if (!confirm(confirm_msg)) return;
}
var url = '#';
@@ -136,8 +141,12 @@ function nm_action(_action, _senders)
break;
case 'submit':
+ // let user confirm select-all
+ if (select_all && select_all.value)
+ {
+ if (!confirm(select_all.value)) return;
+ }
var form = document.getElementsByName("eTemplate")[0];
-
document.getElementById('exec[nm][action]').value = _action.id;
document.getElementById('exec[nm][selected]').value = ids;
if (typeof _action.data.button != 'undefined')
@@ -151,3 +160,14 @@ function nm_action(_action, _senders)
break;
}
}
+
+/**
+ * Callback for select_all checkbox, use hint to confirm all nm_action='submit' before submitting in nm_action()
+ *
+ * @param _action
+ * @param _senders
+ */
+function nm_select_all(_action, _senders)
+{
+ document.getElementById('exec[nm][select_all]').value = _action.checked ? _action.hint : false;
+}
diff --git a/phpgwapi/lang/egw_de.lang b/phpgwapi/lang/egw_de.lang
index e02a582be0..d006d94cc6 100644
--- a/phpgwapi/lang/egw_de.lang
+++ b/phpgwapi/lang/egw_de.lang
@@ -33,6 +33,7 @@ account is expired common de Benutzerkennung ist abgelaufen
accounts common de Benutzerkonten
acl common de ACL
action common de Aktion
+actions common de Befehle
active common de Aktiv
add common de Hinzufügen
add %1 category for common de %1 Kategorie hinzufügen für
@@ -195,6 +196,8 @@ default height for the windows common de Vorgabewert für Höhe des Fensters
default width for the windows common de Vorgabewert für Breite des Fensters
delete common de Löschen
delete row common de Zeile löschen
+delete these entries common de Diese Einträge löschen
+delete this entry common de Diesen Eintrag löschen
denmark common de DÄNEMARK
description common de Beschreibung
detail common de Detail
@@ -598,6 +601,7 @@ search or select accounts common de Suchen und auswählen von Benutzern
second common de Sekunden
section common de Sektion
select common de Auswählen
+select action common de Befehl auswählen
select all %1 %2 for %3 common de Alles auswählen %1 %2 von %3
select category common de Kategorie auswählen
select date common de Datum auswählen
@@ -779,6 +783,7 @@ you have successfully logged out common de Sie haben sich erfolgreich abgemeldet
you need to %1set your timezone preference%2. common de Sie müssen %1Ihre Zeitzone in den Einstellungen setzen%2
you need to add the webserver user '%1' to the group '%2'. common de Sie müssen den Webserver-User '%1' zur Gruppe '%2' hinzufügen.
you need to be an egroupware administrator to access this functionality! common de Sie müssen ein EGroupware Administrator sein, um auf diese Funktion zuzugreifen!
+you need to select some entries first! common de Sie müssen zuerst einige Datensätze auswählen!
you've tried to open the egroupware application: %1, but you have no permission to access this application. common de Sie haben versucht auf die EGroupware Anwendung %1 zuzugreifen, auf die Sie keine Rechte haben.
your message could not be sent! common de Ihre Nachricht konnte nicht gesendet werden!
your message has been sent common de Ihre Nachricht wurde versendet
diff --git a/phpgwapi/lang/egw_en.lang b/phpgwapi/lang/egw_en.lang
index c4d3f780b3..2848e109d3 100644
--- a/phpgwapi/lang/egw_en.lang
+++ b/phpgwapi/lang/egw_en.lang
@@ -33,6 +33,7 @@ account is expired common en Account is expired
accounts common en Accounts
acl common en ACL
action common en Action
+actions common en Actions
active common en Active
add common en Add
add %1 category for common en Add %1 category for
@@ -195,6 +196,8 @@ default height for the windows common en Default height for the windows
default width for the windows common en Default width for the windows
delete common en Delete
delete row common en Delete row
+delete these entries common en Delete these entries
+delete this entry common en Delete this entry
denmark common en DENMARK
description common en Description
detail common en Detail
@@ -599,6 +602,7 @@ search or select accounts common en search or select accounts
second common en second
section common en Section
select common en Select
+select action common en Select action
select all %1 %2 for %3 common en Select all %1 %2 for %3
select category common en Select Category
select date common en Select date
@@ -780,6 +784,7 @@ you have successfully logged out common en You have successfully logged out
you need to %1set your timezone preference%2. common en You need to %1set your timezone preference%2.
you need to add the webserver user '%1' to the group '%2'. common en You need to add the webserver user '%1' to the group '%2'.
you need to be an egroupware administrator to access this functionality! common en You need to be an eGroupWare administrator to access this functionality!
+you need to select some entries first! common en You need to select some entries first!
you've tried to open the egroupware application: %1, but you have no permission to access this application. common en You've tried to open the eGroupWare application: %1, but you have no permission to access this application.
your message could not be sent! common en Your message could not be sent!
your message has been sent common en Your message has been sent
diff --git a/timesheet/inc/class.timesheet_ui.inc.php b/timesheet/inc/class.timesheet_ui.inc.php
index 5c9624a8ec..e930a1c0c0 100644
--- a/timesheet/inc/class.timesheet_ui.inc.php
+++ b/timesheet/inc/class.timesheet_ui.inc.php
@@ -778,10 +778,9 @@ class timesheet_ui extends timesheet_bo
}
if ($content['nm']['action'])
{
- if ($content['use_all']) $content['nm']['select_all'] = $content['use_all']; // legacy support
if (!count($content['nm']['selected']) && !$content['nm']['select_all'])
{
- $msg = lang('You need to select some timesheets first');
+ $msg = lang('You need to select some entries first!');
}
else
{
@@ -798,7 +797,7 @@ class timesheet_ui extends timesheet_bo
}
$content = array(
-// 'nm' => $GLOBALS['egw']->session->appsession('index',TIMESHEET_APP),
+ 'nm' => $GLOBALS['egw']->session->appsession('index',TIMESHEET_APP),
'msg' => $msg,
);
if (!is_array($content['nm']))
@@ -821,10 +820,12 @@ class timesheet_ui extends timesheet_bo
'filter_onchange' => "set_style_by_class('table','custom_hide','visibility',this.value == 'custom' ? 'visible' : 'hidden'); if (this.value != 'custom') this.form.submit();",
'filter2' => (int)$GLOBALS['egw_info']['user']['preferences'][TIMESHEET_APP]['show_details'],
'row_id' => 'ts_id',
- 'actions' => $this->get_actions(),
+ //'actions' => $this->get_actions(),
'default_cols' => '!legacy_actions', // switch legacy actions column and row off by default
);
}
+ $content['nm']['actions'] = $this->get_actions();
+
if($_GET['search'])
{
$content['nm']['search'] = $_GET['search'];
@@ -858,6 +859,8 @@ class timesheet_ui extends timesheet_bo
/**
* Get actions / context menu for index
*
+ * Changes here, require to log out, as $content['nm'] get stored in session!
+ *
* @return array see nextmatch_widget::egw_actions()
*/
private function get_actions()
@@ -884,13 +887,20 @@ class timesheet_ui extends timesheet_bo
'popup' => egw_link::get_registry('timesheet', 'add_popup'),
'group' => $group,
),
+ 'select_all' => array(
+ 'caption' => 'Whole query',
+ 'checkbox' => true,
+ 'onExecute' => 'javaScript:nm_select_all', // uses hint to confirm all nm_action='submit'
+ 'hint' => 'Apply the action on the whole query, NOT only the shown timesheets!!!',
+ 'group' => ++$group,
+ ),
'cat' => nextmatch_widget::category_action(
'timesheet',++$group,'Change category','cat_'
),
'status' => array(
'icon' => 'apply',
'caption' => 'Modify status',
- 'group' => ++$group,
+ 'group' => $group,
'children' => $this->status_labels,
'prefix' => 'to_status_',
'enabled' => (boolean)$this->status_labels,
@@ -908,6 +918,7 @@ class timesheet_ui extends timesheet_bo
'delete' => array(
'caption' => 'Delete',
'confirm' => 'Delete this entry',
+ 'confirm_multiple' => 'Delete these entries',
'group' => ++$group,
),
);
diff --git a/timesheet/lang/egw_de.lang b/timesheet/lang/egw_de.lang
index deec9aa4b1..5100032b1c 100644
--- a/timesheet/lang/egw_de.lang
+++ b/timesheet/lang/egw_de.lang
@@ -4,9 +4,7 @@
2 month ago timesheet de Vor 2 Monaten
2 years ago timesheet de Vor 2 Jahren
3 years ago timesheet de Vor 3 Jahren
-actions timesheet de Aktionen
all projects timesheet de Alle Projekte
-all status timesheet de Alle Status
and its members timesheet de und die Mitglieder
applies the changes timesheet de Änderungen durchführen
apply the action on the whole query, not only the shown timesheets!!! timesheet de Wendet den Befehl auf die gesamte Abfrage an, NICHT nur die angezeigten Stundenzettel!!
@@ -24,10 +22,9 @@ creates a new field timesheet de neues Feld anlegen
creating new entry timesheet de neuen Eintrag anlegen
custom fields timesheet de Benutzerdefinierte Felder
default document to insert entries timesheet de Standarddokument zum Einfügen von Stundenzetteln
-delete this entry timesheet de Diesen Eintrag löschen
delete this status timesheet de Diesen Status löschen
deleted timesheet de gelöscht
-deletes this field timesheet de Dies Feld löschen
+deletes this field timesheet de Dieses Feld löschen
determines the order the fields are displayed timesheet de verändert die Reihenfolge der angezeigten Felder
directory with documents to insert entries timesheet de Verzeichnis mit Dokumenten zum Einfügen.
document '%1' does not exist or is not readable for you! timesheet de Datei '%1' steht nicht zur Verfügung oder ist nicht für Sie zum lesen freigegeben!
@@ -107,7 +104,6 @@ saves this entry and add a new one timesheet de Speichert diesen Eintrag und fü
select a price timesheet de Preis auswählen
select a project timesheet de Projekt auswählen
select a status of the timesheet timesheet de einen status auswählen
-select action timesheet de Bitte eine Aktion auswählen
select infolog timesheet de Infolog auswählen
select multiple timeshhets for a further action timesheet de Wählen Sie mehrere Stundenzettel für einen weitere Aktion aus
select the predefined status, whan creating a new timesheet preferences de Wählen Sie einen Status als Vorgabe für neu zu erstellende Stundenzettel aus
@@ -116,6 +112,7 @@ show a quantity sum (eg. to sum up negative overtime) admin de Zeige eine Mengen
start timesheet de Start
starttime timesheet de Startzeit
starttime has to be before endtime !!! timesheet de Startzeit muss vor der Endzeit liegen !!!
+status timesheet de Status
status deleted. timesheet de Status gelöscht
status of created timesheets timesheet de Status für neue Stundenzettel
status updated. timesheet de Status geändert
@@ -137,13 +134,10 @@ timesheet openoffice export timesheet de Export des Stundenzettels als Open Off
timesheet status-%1 '%2' added. timesheet de Stundenzettel Status %1 '%2' hinzugefügt.
timesheet-%1 '%2' updated. timesheet de Stundenzettel Status %1 '%2' geändert
timesheet-%1 deleted. timesheet de Stundenzettel %1 gelöscht
-tracker timesheet de Verfolgungssystem
unitprice timesheet de Preis pro Einheit
use this tag for addresslabels. put the content, you want to repeat, between two tags. timesheet de Verwenden Sie diesen Platzhalter für den den Seriendruck. Fügen Sie den Inhalt, der wiederholt werden soll, zwischen zwei Platzhaltern ein.
values for selectbox timesheet de Werte der Auswahlbox
view this entry timesheet de Diesen Eintrag anzeigen
week timesheet de Woche
-whole query timesheet de gesamte Abfrage
yesterday timesheet de Gestern
-you need to select some timesheets first timesheet de Sie müssen zuerst Datensätze auswählen
your database is not up to date (%1 vs. %2), please run %3setup%4 to update your database. timesheet de Ihre Datenbank ist NICHT aktuell (%1 statt %2), bitte rufen sie %3setup%4 auf um die Datenbank zu aktualisieren.
diff --git a/timesheet/lang/egw_en.lang b/timesheet/lang/egw_en.lang
index df242385ed..ad25ea1ccc 100644
--- a/timesheet/lang/egw_en.lang
+++ b/timesheet/lang/egw_en.lang
@@ -4,9 +4,7 @@
2 month ago timesheet en 2 month ago
2 years ago timesheet en 2 years ago
3 years ago timesheet en 3 years ago
-actions timesheet en Actions
all projects timesheet en All projects
-all status timesheet en All status
and its members timesheet en and its members
applies the changes timesheet en applies the changes
apply the action on the whole query, not only the shown timesheets!!! timesheet en Apply the action on the whole query, NOT only the shown timesheets!!!
@@ -24,7 +22,6 @@ creates a new field timesheet en creates a new field
creating new entry timesheet en creating new entry
custom fields timesheet en Custom fields
default document to insert entries timesheet en Default document to insert entries
-delete this entry timesheet en Delete this entry
delete this status timesheet en Delete this status
deleted timesheet en deleted
deletes this field timesheet en deletes this field
@@ -107,7 +104,6 @@ saves this entry and add a new one timesheet en Saves this entry and add a new o
select a price timesheet en Select a price
select a project timesheet en Select a project
select a status of the timesheet timesheet en select a status of the timesheet
-select action timesheet en Select action
select infolog timesheet en select Infolog
select multiple timeshhets for a further action timesheet en Select multiple timeshhets for a further action
select the predefined status, whan creating a new timesheet preferences en Select the predefined status, whan creating a new timesheet
@@ -116,6 +112,7 @@ show a quantity sum (eg. to sum up negative overtime) admin en Show a quantity s
start timesheet en Start
starttime timesheet en Starttime
starttime has to be before endtime !!! timesheet en Starttime has to be before endtime !!!
+status timesheet en Status
status deleted. timesheet en Status deleted.
status of created timesheets timesheet en Status of created timesheets
status updated. timesheet en Status updated.
@@ -137,13 +134,10 @@ timesheet openoffice export timesheet en Timesheet OpenOffice export
timesheet status-%1 '%2' added. timesheet en Timesheet Status-%1 '%2' added.
timesheet-%1 '%2' updated. timesheet en Timesheet-%1 '%2' updated.
timesheet-%1 deleted. timesheet en Timesheet-%1 deleted.
-tracker timesheet en Tracker
unitprice timesheet en Unitprice
use this tag for addresslabels. put the content, you want to repeat, between two tags. timesheet en Use this tag for addresslabels. Put the content, you want to repeat, between two tags.
values for selectbox timesheet en Values for selectbox
view this entry timesheet en View this entry
week timesheet en Week
-whole query timesheet en whole query
yesterday timesheet en Yesterday
-you need to select some timesheets first timesheet en You need to select some timesheets first
your database is not up to date (%1 vs. %2), please run %3setup%4 to update your database. timesheet en Your database is NOT up to date (%1 vs. %2), please run %3setup%4 to update your database.
diff --git a/timesheet/setup/etemplates.inc.php b/timesheet/setup/etemplates.inc.php
index 37753ec879..1e987bbbf6 100644
--- a/timesheet/setup/etemplates.inc.php
+++ b/timesheet/setup/etemplates.inc.php
@@ -2,7 +2,7 @@
/**
* eGroupWare - eTemplates for Application timesheet
* http://www.egroupware.org
- * generated by soetemplate::dump4setup() 2011-04-16 23:37
+ * generated by soetemplate::dump4setup() 2011-04-17 20:49
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package timesheet
@@ -39,13 +39,13 @@ $templ_data[] = array('name' => 'timesheet.editstatus','template' => '','lang' =
$templ_data[] = array('name' => 'timesheet.export_csv_selectors','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"radio";s:5:"label";s:7:"Use all";s:4:"size";s:3:"all";s:4:"name";s:9:"selection";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"radio";s:5:"label";s:18:"Use search results";s:4:"name";s:9:"selection";s:4:"size";s:8:"selected";}}}s:4:"rows";i:2;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1295995750',);
-$templ_data[] = array('name' => 'timesheet.index','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:4:{s:2:"h1";s:6:",!@msg";s:2:"h2";s:2:",1";s:2:"c4";s:7:"noPrint";s:2:"h4";s:34:",!@nm[selectcols]=/legacy_actions/";}i:1;a:2:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:8:"template";s:4:"name";s:5:"dates";}i:2;a:3:{s:4:"type";s:8:"template";s:4:"name";s:3:"add";s:5:"align";s:5:"right";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"name";s:2:"nm";s:4:"size";s:20:"timesheet.index.rows";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:4:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";s:7:"onclick";s:164:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.timesheet_ui.edit\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";}s:1:"B";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:8:"checkbox";s:4:"name";s:7:"use_all";s:5:"label";s:11:"whole query";s:8:"onchange";s:128:"if (this.checked==true && !confirm(\'Apply the action on the whole query, NOT only the shown timesheets!!!\')) this.checked=false;";s:4:"help";s:69:"Apply the action on the whole query, NOT only the shown timesheets!!!";}i:2;a:5:{s:4:"type";s:10:"buttononly";s:4:"name";s:14:"legacy_actions";s:4:"help";s:13:"Select action";s:5:"label";s:13:"Select action";s:7:"onclick";s:143:"if (!egw_objectManager.executeActionImplementation(this, \'popup\')) alert(egw::lang(\'You need to select some timesheets first\')); return false;;";}i:3;a:8:{s:4:"type";s:6:"button";s:4:"size";s:9:"arrow_ltr";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:7:"onclick";s:70:"toggle_all(this.form,form::name(\'nm[rows][checked][]\')); return false;";s:6:"needed";s:1:"1";s:4:"span";s:14:",checkAllArrow";}}}}s:4:"rows";i:4;s:4:"cols";i:2;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1291996935',);
+$templ_data[] = array('name' => 'timesheet.index','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:4:{s:2:"h1";s:6:",!@msg";s:2:"h2";s:2:",1";s:2:"c4";s:7:"noPrint";s:2:"h4";s:34:",!@nm[selectcols]=/legacy_actions/";}i:1;a:2:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:8:"template";s:4:"name";s:5:"dates";}i:2;a:3:{s:4:"type";s:8:"template";s:4:"name";s:3:"add";s:5:"align";s:5:"right";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"name";s:2:"nm";s:4:"size";s:20:"timesheet.index.rows";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:4:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";s:7:"onclick";s:164:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.timesheet_ui.edit\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:5:{s:4:"type";s:10:"buttononly";s:4:"name";s:14:"legacy_actions";s:4:"help";s:13:"Select action";s:5:"label";s:13:"Select action";s:7:"onclick";s:141:"if (!egw_objectManager.executeActionImplementation(this, \'popup\')) alert(egw::lang(\'You need to select some entries first!\')); return false;;";}i:2;a:8:{s:4:"type";s:6:"button";s:4:"size";s:9:"arrow_ltr";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:7:"onclick";s:70:"toggle_all(this.form,form::name(\'nm[rows][checked][]\')); return false;";s:6:"needed";s:1:"1";s:4:"span";s:14:",checkAllArrow";}}}}s:4:"rows";i:4;s:4:"cols";i:2;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1291996935',);
$templ_data[] = array('name' => 'timesheet.index.add','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:10:"buttononly";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";s:7:"onclick";s:164:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.timesheet_ui.edit\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";}}','size' => '','style' => '','modified' => '1158042543',);
$templ_data[] = array('name' => 'timesheet.index.dates','template' => '','lang' => '','group' => '0','version' => '1.2.001','data' => 'a:1:{i:0;a:10:{s:4:"type";s:4:"hbox";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:1:"4";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Start";}i:2;a:2:{s:4:"type";s:4:"date";s:4:"name";s:9:"startdate";}i:3;a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"End";}i:4;a:3:{s:4:"type";s:4:"date";s:4:"name";s:7:"enddate";s:4:"help";s:30:"Leave it empty for a full week";}s:4:"span";s:12:",custom_hide";}}','size' => '','style' => '.custom_hide { visibility: hidden; }','modified' => '1142973260',);
-$templ_data[] = array('name' => 'timesheet.index.rows','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:9:{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:"G";s:13:",@no_ts_total";s:1:"F";s:17:",@no_ts_unitprice";s:1:"E";s:16:",@no_ts_quantity";s:1:"I";s:14:",@no_ts_status";}i:1;a:11:{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:5:{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:6:{s:4:"type";s:22:"nextmatch-customfilter";s:4:"size";s:10:"link-entry";i:1;a:5:{s:4:"type";s:10:"link-entry";s:4:"size";s:15:"infolog,infolog";s:4:"name";s:11:"nm[info_id]";s:8:"onchange";i:1;s:4:"blur";s:14:"select Infolog";}i:2;a:2:{s:4:"type";s:6:"button";s:5:"label";s:6:"submit";}s:8:"onchange";i:1;s:4:"name";s:6:"linked";}}i:4;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:4;s:4:"cols";i:1;s:4:"size";s:7:",,,,0,0";s:7:"options";a:2:{i:4;s:1:"0";i:5;s:1:"0";}}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:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Quantity";s:4:"name";s:11:"ts_quantity";}i:2;a:4:{s:4:"type";s:5:"float";s:4:"name";s:8:"quantity";s:8:"readonly";s:1:"1";s:4:"size";s:4:",,,3";}}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:4:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"name";s:9:"ts_status";s:8:"onchange";i:1;s:4:"size";s:10:"All status";}s:1:"J";a:2:{s:4:"type";s:22:"nextmatch-customfields";s:4:"name";s:12:"customfields";}s:1:"K";a:5:{s:4:"type";s:4:"hbox";s:4:"span";s:8:",noPrint";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:7:"Actions";s:4:"span";s:8:",noPrint";s:5:"align";s:5:"right";s:4:"name";s:14:"legacy_actions";}i:2;a:7:{s:4:"type";s:6:"button";s:5:"label";s:9:"Check all";s:4:"size";s:5:"check";s:4:"name";s:9:"check_all";s:6:"needed";s:1:"1";s:4:"help";s:9:"Check all";s:7:"onclick";s:60:"toggle_all(this.form,form::name(\'checked[]\')); return false;";}}}i:2;a:11:{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:6:"3,,0,0";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:3:{s:4:"type";s:6:"select";s:4:"name";s:17:"${row}[ts_status]";s:8:"readonly";s:1:"1";}s:1:"J";a:3:{s:4:"type";s:17:"customfields-list";s:4:"name";s:4:"$row";s:8:"readonly";s:1:"1";}s:1:"K";a:9:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"5";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:187:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.timesheet_ui.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:187:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.timesheet_ui.edit&ts_id=$row_cont[ts_id]\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";}i:3;a:5:{s:4:"type";s:6:"button";s:4:"name";s:26:"document[$row_cont[ts_id]]";s:4:"size";s:15:"etemplate/merge";s:5:"label";s:18:"Insert in document";s:4:"span";s:8:",image16";}s:4:"span";s:8:",noPrint";i:4;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:5:"align";s:5:"right";i:5;a:4:{s:4:"type";s:8:"checkbox";s:4:"size";s:16:"$row_cont[ts_id]";s:4:"name";s:9:"checked[]";s:4:"help";s:47:"Select multiple timeshhets for a further action";}}}}s:4:"rows";i:2;s:4:"cols";i:11;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1296843833',);
+$templ_data[] = array('name' => 'timesheet.index.rows','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:9:{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:"G";s:13:",@no_ts_total";s:1:"F";s:17:",@no_ts_unitprice";s:1:"E";s:16:",@no_ts_quantity";s:1:"I";s:14:",@no_ts_status";}i:1;a:11:{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:5:{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:6:{s:4:"type";s:22:"nextmatch-customfilter";s:4:"size";s:10:"link-entry";i:1;a:5:{s:4:"type";s:10:"link-entry";s:4:"size";s:15:"infolog,infolog";s:4:"name";s:11:"nm[info_id]";s:8:"onchange";i:1;s:4:"blur";s:14:"select Infolog";}i:2;a:2:{s:4:"type";s:6:"button";s:5:"label";s:6:"submit";}s:8:"onchange";i:1;s:4:"name";s:6:"linked";}}i:4;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:4;s:4:"cols";i:1;s:4:"size";s:7:",,,,0,0";s:7:"options";a:2:{i:4;s:1:"0";i:5;s:1:"0";}}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:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Quantity";s:4:"name";s:11:"ts_quantity";}i:2;a:4:{s:4:"type";s:5:"float";s:4:"name";s:8:"quantity";s:8:"readonly";s:1:"1";s:4:"size";s:4:",,,3";}}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:4:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"name";s:9:"ts_status";s:8:"onchange";i:1;s:4:"size";s:6:"Status";}s:1:"J";a:2:{s:4:"type";s:22:"nextmatch-customfields";s:4:"name";s:12:"customfields";}s:1:"K";a:5:{s:4:"type";s:4:"hbox";s:4:"span";s:8:",noPrint";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:7:"Actions";s:4:"span";s:8:",noPrint";s:5:"align";s:5:"right";s:4:"name";s:14:"legacy_actions";}i:2;a:7:{s:4:"type";s:6:"button";s:5:"label";s:9:"Check all";s:4:"size";s:5:"check";s:4:"name";s:9:"check_all";s:6:"needed";s:1:"1";s:4:"help";s:9:"Check all";s:7:"onclick";s:60:"toggle_all(this.form,form::name(\'checked[]\')); return false;";}}}i:2;a:11:{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:6:"3,,0,0";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:3:{s:4:"type";s:6:"select";s:4:"name";s:17:"${row}[ts_status]";s:8:"readonly";s:1:"1";}s:1:"J";a:3:{s:4:"type";s:17:"customfields-list";s:4:"name";s:4:"$row";s:8:"readonly";s:1:"1";}s:1:"K";a:9:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"5";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:187:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.timesheet_ui.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:187:"window.open(egw::link(\'/index.php\',\'menuaction=timesheet.timesheet_ui.edit&ts_id=$row_cont[ts_id]\'),\'_blank\',\'dependent=yes,width=600,height=400,scrollbars=yes,status=yes\'); return false;";}i:3;a:5:{s:4:"type";s:6:"button";s:4:"name";s:26:"document[$row_cont[ts_id]]";s:4:"size";s:15:"etemplate/merge";s:5:"label";s:18:"Insert in document";s:4:"span";s:8:",image16";}s:4:"span";s:8:",noPrint";i:4;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:5:"align";s:5:"right";i:5;a:4:{s:4:"type";s:8:"checkbox";s:4:"size";s:16:"$row_cont[ts_id]";s:4:"name";s:9:"checked[]";s:4:"help";s:47:"Select multiple timeshhets for a further action";}}}}s:4:"rows";i:2;s:4:"cols";i:11;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1296843833',);
$templ_data[] = array('name' => 'timesheet.wizard_import_options','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:1:{s:2:"h1";s:10:",!@message";}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:11:"all,message";s:4:"name";s:7:"message";}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:4:"span";s:3:"all";s:5:"label";s:40:"What should be done with unknown values?";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Status";}s:1:"B";a:2:{s:4:"type";s:6:"select";s:4:"name";s:16:"translate_status";}}i:4;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"Category";}s:1:"B";a:2:{s:4:"type";s:6:"select";s:4:"name";s:16:"translate_cat_id";}}}s:4:"rows";i:4;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1301427589',);
diff --git a/timesheet/templates/default/index.xet b/timesheet/templates/default/index.xet
index a05642c80a..0aad5baeed 100644
--- a/timesheet/templates/default/index.xet
+++ b/timesheet/templates/default/index.xet
@@ -67,7 +67,7 @@
-
+
@@ -130,8 +130,7 @@
-
-
+