*
* Stundenzettel - Dashboard/Übersicht
*/
// Load Dolibarr environment
$res = 0;
if (!$res && file_exists("../main.inc.php")) $res = @include "../main.inc.php";
if (!$res && file_exists("../../main.inc.php")) $res = @include "../../main.inc.php";
if (!$res && file_exists("../../../main.inc.php")) $res = @include "../../../main.inc.php";
if (!$res) die("Include of main fails");
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
// Load translation files
$langs->loadLangs(array("stundenzettel@stundenzettel", "orders"));
// Security check
if (!$user->hasRight('stundenzettel', 'read')) {
accessforbidden();
}
$action = GETPOST('action', 'aZ09');
/*
* View
*/
$form = new Form($db);
// Linkes Menü aktivieren
$_GET['mainmenu'] = 'stundenzettel';
llxHeader('', $langs->trans("Stundenzettel"), '', '', 0, 0, '', '', '', 'mod-stundenzettel page-index');
print load_fiche_titre($langs->trans("Stundenzettel"), '', 'clock');
print '
';
// Statistik-Boxen
print '
';
// Box: Offene Stundenzettel
print '
';
print '
';
print '';
print '| '.$langs->trans("BoxOpenStundenzettel").' | ';
print '
';
$sql = "SELECT COUNT(*) as nb FROM ".MAIN_DB_PREFIX."stundenzettel WHERE status = 0 AND entity = ".((int)$conf->entity);
$resql = $db->query($sql);
if ($resql) {
$obj = $db->fetch_object($resql);
print '| '.$langs->trans("StatusDraft").' | '.$obj->nb.' |
';
}
$sql = "SELECT COUNT(*) as nb FROM ".MAIN_DB_PREFIX."stundenzettel WHERE status = 1 AND entity = ".((int)$conf->entity);
$resql = $db->query($sql);
if ($resql) {
$obj = $db->fetch_object($resql);
print '| '.$langs->trans("StatusValidated").' | '.$obj->nb.' |
';
}
print '
';
print '
';
// Box: Schnellzugriff
print '
';
print '
';
print '
'; // fichethirdleft
print '
';
// Zuletzt bearbeitete Stundenzettel
print '
';
print '
';
print '';
print '| '.$langs->trans("BoxRecentStundenzettel").' | ';
print ''.$langs->trans("StundenzettelDate").' | ';
print ''.$langs->trans("StundenzettelOrder").' | ';
print ''.$langs->trans("StundenzettelCustomer").' | ';
print ''.$langs->trans("StundenzettelStatus").' | ';
print '
';
$sql = "SELECT s.rowid, s.ref, s.date_stundenzettel, s.status, s.fk_commande, s.fk_soc,";
$sql .= " c.ref as order_ref, soc.nom as soc_name";
$sql .= " FROM ".MAIN_DB_PREFIX."stundenzettel as s";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."commande as c ON c.rowid = s.fk_commande";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as soc ON soc.rowid = s.fk_soc";
$sql .= " WHERE s.entity = ".((int)$conf->entity);
$sql .= " ORDER BY s.tms DESC";
$sql .= " LIMIT 10";
$resql = $db->query($sql);
if ($resql) {
$num = $db->num_rows($resql);
if ($num > 0) {
while ($obj = $db->fetch_object($resql)) {
print '';
// Referenz
print '| ';
print '';
print img_picto('', 'clock', 'class="pictofixedwidth"').$obj->ref;
print '';
print ' | ';
// Datum
print ''.dol_print_date($db->jdate($obj->date_stundenzettel), 'day').' | ';
// Auftrag
print '';
if ($obj->order_ref) {
print '';
print img_picto('', 'order', 'class="pictofixedwidth"').$obj->order_ref;
print '';
}
print ' | ';
// Kunde
print '';
if ($obj->soc_name) {
print '';
print img_picto('', 'company', 'class="pictofixedwidth"').$obj->soc_name;
print '';
}
print ' | ';
// Status
print '';
if ($obj->status == 0) {
print ''.$langs->trans("StatusDraft").'';
} elseif ($obj->status == 1) {
print ''.$langs->trans("StatusValidated").'';
} elseif ($obj->status == 2) {
print ''.$langs->trans("StatusInvoiced").'';
}
print ' | ';
print '
';
}
} else {
print '| '.$langs->trans("NoOpenStundenzettel").' |
';
}
} else {
dol_print_error($db);
}
print '
';
print '
';
// Offene Aufträge mit Stundenzettel-Funktion
print '
';
print '
';
print '
';
print '';
print '| '.$langs->trans("OpenOrders").' - '.$langs->trans("ActivateStundenzettel").' | ';
print '
';
$sql = "SELECT c.rowid, c.ref, c.date_commande, c.total_ht, soc.nom as soc_name, soc.rowid as soc_id";
$sql .= " FROM ".MAIN_DB_PREFIX."commande as c";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as soc ON soc.rowid = c.fk_soc";
$sql .= " WHERE c.entity = ".((int)$conf->entity);
$sql .= " AND c.fk_statut IN (1, 2)"; // Bestätigt oder in Bearbeitung
$sql .= " ORDER BY c.date_commande DESC";
$sql .= " LIMIT 10";
$resql = $db->query($sql);
if ($resql) {
$num = $db->num_rows($resql);
if ($num > 0) {
while ($obj = $db->fetch_object($resql)) {
print '';
// Auftrag
print '| ';
print '';
print img_picto('', 'order', 'class="pictofixedwidth"').$obj->ref;
print '';
print ' | ';
// Kunde
print '';
print '';
print $obj->soc_name;
print '';
print ' | ';
// Datum
print ''.dol_print_date($db->jdate($obj->date_commande), 'day').' | ';
// Aktion
print '';
print '';
print img_picto('', 'clock', 'class="pictofixedwidth"').$langs->trans("Stundenzettel");
print '';
print ' | ';
print '
';
}
} else {
print '| '.$langs->trans("NoRecordFound").' |
';
}
}
print '
';
print '
';
print '
'; // fichetwothirdright
print '
'; // fichecenter
print '';
llxFooter();
$db->close();