0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { $i--; $j--; }
if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php";
if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) $res = @include dirname(substr($tmp, 0, ($i + 1)))."/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.'/societe/class/societe.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
require_once __DIR__.'/class/bericht.class.php';
if (!$user->hasRight('bericht', 'read')) accessforbidden();
if (!$user->hasRight('societe', 'lire')) accessforbidden();
$langs->loadLangs(array("bericht@bericht", "main", "companies"));
$socid = GETPOSTINT('socid');
if (!$socid) accessforbidden('socid fehlt');
$soc = new Societe($db);
if ($soc->fetch($socid) <= 0) accessforbidden('Kunde nicht gefunden');
// Berichte des Kunden ermitteln (ein UNION über alle drei Element-Typen)
$sql = "SELECT b.rowid, b.ref AS bref, b.titel, b.datec, b.status, b.element_type,"
." 'order' AS quelle, c.ref AS parent_ref, c.rowid AS parent_id"
." FROM ".$db->prefix()."bericht b"
." INNER JOIN ".$db->prefix()."commande c ON c.rowid = b.fk_element"
." WHERE b.element_type = 'order' AND c.fk_soc = ".((int) $socid)
." UNION "
."SELECT b.rowid, b.ref AS bref, b.titel, b.datec, b.status, b.element_type,"
." 'invoice' AS quelle, f.ref AS parent_ref, f.rowid AS parent_id"
." FROM ".$db->prefix()."bericht b"
." INNER JOIN ".$db->prefix()."facture f ON f.rowid = b.fk_element"
." WHERE b.element_type = 'invoice' AND f.fk_soc = ".((int) $socid)
." UNION "
."SELECT b.rowid, b.ref AS bref, b.titel, b.datec, b.status, b.element_type,"
." 'propal' AS quelle, p.ref AS parent_ref, p.rowid AS parent_id"
." FROM ".$db->prefix()."bericht b"
." INNER JOIN ".$db->prefix()."propal p ON p.rowid = b.fk_element"
." WHERE b.element_type = 'propal' AND p.fk_soc = ".((int) $socid)
." ORDER BY datec DESC";
$rows = array();
$resq = $db->query($sql);
if ($resq) {
while ($obj = $db->fetch_object($resq)) {
$rows[] = $obj;
}
}
llxHeader('', $langs->trans("Berichte").' — '.$soc->name, '', '', 0, 0, array(), array(), '', 'mod-bericht page-bericht-thirdparty');
$head = societe_prepare_head($soc);
print dol_get_fiche_head($head, 'bericht', $langs->trans("ThirdParty"), -1, 'company');
dol_banner_tab($soc, 'socid', '', ($user->socid ? 0 : 1), 'rowid', 'nom');
print dol_get_fiche_end();
print '
';
print '
Read-only Übersicht aller Berichte aus Aufträgen, Rechnungen und Angeboten dieses Kunden. Bericht-Anlage erfolgt direkt am jeweiligen Auftrag oder der Rechnung.
'; if (empty($rows)) { print '| '.$langs->trans("Ref").' | '; print ''.$langs->trans("BerichtTitle").' | '; print 'Quelle | '; print ''.$langs->trans("BerichtCreatedAt").' | '; print ''.$langs->trans("BerichtStatus").' | '; print ''.$langs->trans("Action").' | '; print '
|---|---|---|---|---|---|
| '.dol_escape_htmltag($r->bref).' | '; print ''.dol_escape_htmltag($r->titel).' | '; print ''.$quelle_label.' '.dol_escape_htmltag($r->parent_ref).' | '; print ''.dol_print_date($db->jdate($r->datec), 'dayhour').' | '; print ''.$status_html.' | '; print ''; print 'Öffnen '; print 'Zur Quelle'; print ' | '; print '