Add document tab for contact
This commit is contained in:
parent
f174b662c3
commit
bab04258e0
125
htdocs/contact/document.php
Normal file
125
htdocs/contact/document.php
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
||||||
|
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/contact/document.php
|
||||||
|
* \ingroup contact
|
||||||
|
* \brief Page with attached files on contact
|
||||||
|
*/
|
||||||
|
|
||||||
|
require '../main.inc.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/contact.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||||
|
|
||||||
|
$langs->load("other");
|
||||||
|
$langs->load("companies");
|
||||||
|
$langs->load("compta");
|
||||||
|
$langs->load("bills");
|
||||||
|
$langs->load("contact");
|
||||||
|
|
||||||
|
$id = GETPOST('id','int');
|
||||||
|
$action = GETPOST("action");
|
||||||
|
$confirm = GETPOST('confirm', 'alpha');
|
||||||
|
|
||||||
|
// Security check
|
||||||
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
|
$result = restrictedArea($user, 'contact', $id, '','');
|
||||||
|
|
||||||
|
// Get parameters
|
||||||
|
$sortfield = GETPOST("sortfield",'alpha');
|
||||||
|
$sortorder = GETPOST("sortorder",'alpha');
|
||||||
|
$page = GETPOST("page",'int');
|
||||||
|
if ($page == -1) {
|
||||||
|
$page = 0;
|
||||||
|
}
|
||||||
|
$offset = $conf->liste_limit * $page;
|
||||||
|
$pageprev = $page - 1;
|
||||||
|
$pagenext = $page + 1;
|
||||||
|
if (! $sortorder) $sortorder="ASC";
|
||||||
|
if (! $sortfield) $sortfield="name";
|
||||||
|
|
||||||
|
$object = new Contact($db);
|
||||||
|
if ($id > 0) $object->fetch($id);
|
||||||
|
|
||||||
|
$upload_dir = $conf->societe->dir_output.'/contact/'.dol_sanitizeFileName($object->ref);
|
||||||
|
$modulepart='contact';
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Actions
|
||||||
|
*/
|
||||||
|
|
||||||
|
include DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php';
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* View
|
||||||
|
*/
|
||||||
|
|
||||||
|
$form = new Form($db);
|
||||||
|
|
||||||
|
$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
|
||||||
|
llxHeader("",$langs->trans("Contact"), $helpurl);
|
||||||
|
|
||||||
|
if ($object->id)
|
||||||
|
{
|
||||||
|
$head = contact_prepare_head($object, $user);
|
||||||
|
|
||||||
|
dol_fiche_head($head, 'documents', $langs->trans("Contact"), 0, 'contact');
|
||||||
|
|
||||||
|
|
||||||
|
// Construit liste des fichiers
|
||||||
|
$filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||||
|
$totalsize=0;
|
||||||
|
foreach($filearray as $key => $file)
|
||||||
|
{
|
||||||
|
$totalsize+=$file['size'];
|
||||||
|
}
|
||||||
|
|
||||||
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
|
// Ref
|
||||||
|
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td colspan="3">';
|
||||||
|
print $form->showrefnav($object, 'id', $linkback);
|
||||||
|
print '</td></tr>';
|
||||||
|
|
||||||
|
// Name
|
||||||
|
print '<tr><td width="20%">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</td><td width="30%">'.$object->lastname.'</td>';
|
||||||
|
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%">'.$object->firstname.'</td></tr>';
|
||||||
|
|
||||||
|
print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
|
||||||
|
print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>';
|
||||||
|
print '</table>';
|
||||||
|
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
|
$modulepart = 'contact';
|
||||||
|
$permission = $user->rights->societe->contact->creer;
|
||||||
|
$param = '&id=' . $object->id;
|
||||||
|
include DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_post_headers.tpl.php';
|
||||||
|
} else {
|
||||||
|
print $langs->trans("ErrorUnknown");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
llxFooter();
|
||||||
|
|
||||||
|
$db->close();
|
||||||
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2006-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2006-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
|
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -32,62 +33,75 @@ function contact_prepare_head(Contact $object)
|
|||||||
{
|
{
|
||||||
global $langs, $conf, $user;
|
global $langs, $conf, $user;
|
||||||
|
|
||||||
$h = 0;
|
$tab = 0;
|
||||||
$head = array();
|
$head = array();
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/contact/card.php?id='.$object->id;
|
$head[$tab][0] = DOL_URL_ROOT.'/contact/card.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans("Card");
|
$head[$tab][1] = $langs->trans("Card");
|
||||||
$head[$h][2] = 'card';
|
$head[$tab][2] = 'card';
|
||||||
$h++;
|
$tab++;
|
||||||
|
|
||||||
if (! empty($conf->ldap->enabled) && ! empty($conf->global->LDAP_CONTACT_ACTIVE))
|
if (! empty($conf->ldap->enabled) && ! empty($conf->global->LDAP_CONTACT_ACTIVE))
|
||||||
{
|
{
|
||||||
$langs->load("ldap");
|
$langs->load("ldap");
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/contact/ldap.php?id='.$object->id;
|
$head[$h][0] = DOL_URL_ROOT.'/contact/ldap.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans("LDAPCard");
|
$head[$tab][1] = $langs->trans("LDAPCard");
|
||||||
$head[$h][2] = 'ldap';
|
$head[$tab][2] = 'ldap';
|
||||||
$h++;
|
$tab++;
|
||||||
}
|
}
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/contact/perso.php?id='.$object->id;
|
$head[$tab][0] = DOL_URL_ROOT.'/contact/perso.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans("PersonalInformations");
|
$head[$tab][1] = $langs->trans("PersonalInformations");
|
||||||
$head[$h][2] = 'perso';
|
$head[$tab][2] = 'perso';
|
||||||
$h++;
|
$tab++;
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/contact/exportimport.php?id='.$object->id;
|
$head[$tab][0] = DOL_URL_ROOT.'/contact/exportimport.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans("ExportImport");
|
$head[$tab][1] = $langs->trans("ExportImport");
|
||||||
$head[$h][2] = 'exportimport';
|
$head[$tab][2] = 'exportimport';
|
||||||
$h++;
|
$tab++;
|
||||||
|
|
||||||
// Show more tabs from modules
|
// Show more tabs from modules
|
||||||
// Entries must be declared in modules descriptor with line
|
// Entries must be declared in modules descriptor with line
|
||||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||||
// $this->tabs = array('entity:-tabname); to remove a tab
|
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'contact');
|
complete_head_from_modules($conf,$langs,$object,$head,$tab,'contact');
|
||||||
|
|
||||||
// Notes
|
// Notes
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/contact/note.php?id='.$object->id;
|
if (empty($conf->global->MAIN_DISABLE_NOTES_TAB)) {
|
||||||
$head[$h][1] = $langs->trans("Note");
|
$nbNote = (empty($object->note_private)?0:1)+(empty($object->note_public)?0:1);
|
||||||
$head[$h][2] = 'note';
|
$head[$tab][0] = DOL_URL_ROOT.'/contact/note.php?id='.$object->id;
|
||||||
$h++;
|
$head[$tab][1] = $langs->trans("Note");
|
||||||
|
if($nbNote > 0) $head[$tab][1].= ' <span class="badge">'.$nbNote.'</span>';
|
||||||
|
$head[$tab][2] = 'note';
|
||||||
|
$tab++;
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
$upload_dir = $conf->societe->dir_output . "/contact/" . dol_sanitizeFileName($object->ref);
|
||||||
|
$nbFiles = count(dol_dir_list($upload_dir,'files',0,'','(\.meta|_preview\.png)$'));
|
||||||
|
$head[$tab][0] = DOL_URL_ROOT.'/contact/document.php?id='.$object->id;
|
||||||
|
$head[$tab][1] = $langs->trans("Documents");
|
||||||
|
if($nbFiles > 0) $head[$tab][1].= ' <span class="badge">'.$nbFiles.'</span>';
|
||||||
|
$head[$tab][2] = 'documents';
|
||||||
|
$tab++;
|
||||||
|
|
||||||
if (! empty($conf->categorie->enabled) && ! empty($user->rights->categorie->lire))
|
if (! empty($conf->categorie->enabled) && ! empty($user->rights->categorie->lire))
|
||||||
{
|
{
|
||||||
$type = 4;
|
$type = 4;
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/categories/categorie.php?id='.$object->id."&type=".$type;
|
$head[$tab][0] = DOL_URL_ROOT.'/categories/categorie.php?id='.$object->id."&type=".$type;
|
||||||
$head[$h][1] = $langs->trans('Categories');
|
$head[$tab][1] = $langs->trans('Categories');
|
||||||
$head[$h][2] = 'category';
|
$head[$tab][2] = 'category';
|
||||||
$h++;
|
$tab++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Info
|
// Info
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/contact/info.php?id='.$object->id;
|
$head[$tab][0] = DOL_URL_ROOT.'/contact/info.php?id='.$object->id;
|
||||||
$head[$h][1] = $langs->trans("Info");
|
$head[$tab][1] = $langs->trans("Info");
|
||||||
$head[$h][2] = 'info';
|
$head[$tab][2] = 'info';
|
||||||
$h++;
|
$tab++;
|
||||||
|
|
||||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'contact','remove');
|
complete_head_from_modules($conf,$langs,$object,$head,$tab,'contact','remove');
|
||||||
|
|
||||||
return $head;
|
return $head;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user