|
@@ -32,10 +32,13 @@ require '../main.inc.php';
|
|
|
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
|
|
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
|
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
|
|
+require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
|
|
+require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
|
|
|
|
|
// Load translation files required by the page
|
|
|
$langs->loadLangs(array('agenda', 'bills', 'companies', 'orders', 'propal'));
|
|
|
|
|
|
+$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'thirdpartyagenda';
|
|
|
|
|
|
if (GETPOST('actioncode', 'array')) {
|
|
|
$actioncode = GETPOST('actioncode', 'array', 3);
|
|
@@ -49,13 +52,6 @@ if (GETPOST('actioncode', 'array')) {
|
|
|
$search_rowid = GETPOST('search_rowid');
|
|
|
$search_agenda_label = GETPOST('search_agenda_label');
|
|
|
|
|
|
-// Security check
|
|
|
-$socid = GETPOST('socid', 'int');
|
|
|
-if ($user->socid) {
|
|
|
- $socid = $user->socid;
|
|
|
-}
|
|
|
-$result = restrictedArea($user, 'societe', $socid, '&societe');
|
|
|
-
|
|
|
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
|
|
|
$sortfield = GETPOST('sortfield', 'aZ09comma');
|
|
|
$sortorder = GETPOST('sortorder', 'aZ09comma');
|
|
@@ -73,8 +69,25 @@ if (!$sortorder) {
|
|
|
$sortorder = 'DESC,DESC';
|
|
|
}
|
|
|
|
|
|
+// Initialize technical objects
|
|
|
+$object = new Societe($db);
|
|
|
+
|
|
|
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
|
|
|
-$hookmanager->initHooks(array('agendathirdparty'));
|
|
|
+$hookmanager->initHooks(array('agendathirdparty', 'globalcard'));
|
|
|
+
|
|
|
+// Security check
|
|
|
+$socid = GETPOST('socid', 'int');
|
|
|
+if ($user->socid) {
|
|
|
+ $socid = $user->socid;
|
|
|
+}
|
|
|
+
|
|
|
+$result = $object->fetch($socid);
|
|
|
+if ($result <= 0) {
|
|
|
+ accessforbidden('Third party not found');
|
|
|
+}
|
|
|
+
|
|
|
+$result = restrictedArea($user, 'societe', $socid, '&societe');
|
|
|
+
|
|
|
|
|
|
|
|
|
/*
|
|
@@ -109,112 +122,106 @@ if (empty($reshook)) {
|
|
|
|
|
|
$form = new Form($db);
|
|
|
|
|
|
-if ($socid > 0) {
|
|
|
- require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
|
|
- require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
|
|
+$title = $langs->trans("Agenda");
|
|
|
+if (!empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/', $conf->global->MAIN_HTML_TITLE) && $object->name) {
|
|
|
+ $title = $object->name." - ".$title;
|
|
|
+}
|
|
|
+llxHeader('', $title);
|
|
|
|
|
|
- $object = new Societe($db);
|
|
|
- $result = $object->fetch($socid);
|
|
|
+if (isModEnabled('notification')) {
|
|
|
+ $langs->load("mails");
|
|
|
+}
|
|
|
+$head = societe_prepare_head($object);
|
|
|
|
|
|
- $title = $langs->trans("Agenda");
|
|
|
- if (!empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/', $conf->global->MAIN_HTML_TITLE) && $object->name) {
|
|
|
- $title = $object->name." - ".$title;
|
|
|
- }
|
|
|
- llxHeader('', $title);
|
|
|
+print dol_get_fiche_head($head, 'agenda', $langs->trans("ThirdParty"), -1, $object->picto);
|
|
|
|
|
|
- if (isModEnabled('notification')) {
|
|
|
- $langs->load("mails");
|
|
|
- }
|
|
|
- $head = societe_prepare_head($object);
|
|
|
+$linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
|
|
|
|
|
- print dol_get_fiche_head($head, 'agenda', $langs->trans("ThirdParty"), -1, 'company');
|
|
|
+$morehtmlref = '';
|
|
|
|
|
|
- $linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
|
|
+dol_banner_tab($object, 'socid', $linkback, ($user->socid ? 0 : 1), 'rowid', 'nom', $morehtmlref);
|
|
|
|
|
|
- dol_banner_tab($object, 'socid', $linkback, ($user->socid ? 0 : 1), 'rowid', 'nom');
|
|
|
+print '<div class="fichecenter">';
|
|
|
|
|
|
- print '<div class="fichecenter">';
|
|
|
+print '<div class="underbanner clearboth"></div>';
|
|
|
|
|
|
- print '<div class="underbanner clearboth"></div>';
|
|
|
+$object->info($socid);
|
|
|
+dol_print_object_info($object, 1);
|
|
|
|
|
|
- $object->info($socid);
|
|
|
- dol_print_object_info($object, 1);
|
|
|
+print '</div>';
|
|
|
|
|
|
- print '</div>';
|
|
|
+print dol_get_fiche_end();
|
|
|
|
|
|
- print dol_get_fiche_end();
|
|
|
|
|
|
|
|
|
+// Actions buttons
|
|
|
|
|
|
- // Actions buttons
|
|
|
+$objthirdparty = $object;
|
|
|
+$objcon = new stdClass();
|
|
|
|
|
|
- $objthirdparty = $object;
|
|
|
- $objcon = new stdClass();
|
|
|
-
|
|
|
- $out = '';
|
|
|
- $permok = $user->hasRight('agenda', 'myactions', 'create');
|
|
|
- if ((!empty($objthirdparty->id) || !empty($objcon->id)) && $permok) {
|
|
|
- if (is_object($objthirdparty) && get_class($objthirdparty) == 'Societe') {
|
|
|
- $out .= '&originid='.$objthirdparty->id.($objthirdparty->id > 0 ? '&socid='.$objthirdparty->id : '').'&backtopage='.urlencode($_SERVER['PHP_SELF'].($objthirdparty->id > 0 ? '?socid='.$objthirdparty->id : ''));
|
|
|
- }
|
|
|
- $out .= (!empty($objcon->id) ? '&contactid='.$objcon->id : '');
|
|
|
- $out .= '&datep='.dol_print_date(dol_now(), 'dayhourlog', 'tzuserrel');
|
|
|
+$out = '';
|
|
|
+$permok = $user->hasRight('agenda', 'myactions', 'create');
|
|
|
+if ((!empty($objthirdparty->id) || !empty($objcon->id)) && $permok) {
|
|
|
+ if (is_object($objthirdparty) && get_class($objthirdparty) == 'Societe') {
|
|
|
+ $out .= '&originid='.$objthirdparty->id.($objthirdparty->id > 0 ? '&socid='.$objthirdparty->id : '').'&backtopage='.urlencode($_SERVER['PHP_SELF'].($objthirdparty->id > 0 ? '?socid='.$objthirdparty->id : ''));
|
|
|
}
|
|
|
+ $out .= (!empty($objcon->id) ? '&contactid='.$objcon->id : '');
|
|
|
+ $out .= '&datep='.dol_print_date(dol_now(), 'dayhourlog', 'tzuserrel');
|
|
|
+}
|
|
|
|
|
|
- $morehtmlright = '';
|
|
|
+$morehtmlright = '';
|
|
|
|
|
|
- $messagingUrl = DOL_URL_ROOT.'/societe/messaging.php?socid='.$object->id;
|
|
|
- $morehtmlright .= dolGetButtonTitle($langs->trans('ShowAsConversation'), '', 'fa fa-comments imgforviewmode', $messagingUrl, '', 2);
|
|
|
- $messagingUrl = DOL_URL_ROOT.'/societe/agenda.php?socid='.$object->id;
|
|
|
- $morehtmlright .= dolGetButtonTitle($langs->trans('MessageListViewType'), '', 'fa fa-bars imgforviewmode', $messagingUrl, '', 1);
|
|
|
+$messagingUrl = DOL_URL_ROOT.'/societe/messaging.php?socid='.$object->id;
|
|
|
+$morehtmlright .= dolGetButtonTitle($langs->trans('ShowAsConversation'), '', 'fa fa-comments imgforviewmode', $messagingUrl, '', 2);
|
|
|
+$messagingUrl = DOL_URL_ROOT.'/societe/agenda.php?socid='.$object->id;
|
|
|
+$morehtmlright .= dolGetButtonTitle($langs->trans('MessageListViewType'), '', 'fa fa-bars imgforviewmode', $messagingUrl, '', 1);
|
|
|
|
|
|
- // // Show link to send an email (if read and not closed)
|
|
|
- // $btnstatus = $object->status < Ticket::STATUS_CLOSED && $action != "presend" && $action != "presend_addmessage";
|
|
|
- // $url = 'card.php?track_id='.$object->track_id.'&action=presend_addmessage&mode=init&private_message=0&send_email=1&backtopage='.urlencode($_SERVER["PHP_SELF"].'?track_id='.$object->track_id).'#formmailbeforetitle';
|
|
|
- // $morehtmlright .= dolGetButtonTitle($langs->trans('SendMail'), '', 'fa fa-paper-plane', $url, 'email-title-button', $btnstatus);
|
|
|
+// // Show link to send an email (if read and not closed)
|
|
|
+// $btnstatus = $object->status < Ticket::STATUS_CLOSED && $action != "presend" && $action != "presend_addmessage";
|
|
|
+// $url = 'card.php?track_id='.$object->track_id.'&action=presend_addmessage&mode=init&private_message=0&send_email=1&backtopage='.urlencode($_SERVER["PHP_SELF"].'?track_id='.$object->track_id).'#formmailbeforetitle';
|
|
|
+// $morehtmlright .= dolGetButtonTitle($langs->trans('SendMail'), '', 'fa fa-paper-plane', $url, 'email-title-button', $btnstatus);
|
|
|
|
|
|
- // // Show link to add a private message (if read and not closed)
|
|
|
- // $btnstatus = $object->status < Ticket::STATUS_CLOSED && $action != "presend" && $action != "presend_addmessage";
|
|
|
- // $url = 'card.php?track_id='.$object->track_id.'&action=presend_addmessage&mode=init&backtopage='.urlencode($_SERVER["PHP_SELF"].'?track_id='.$object->track_id).'#formmailbeforetitle';
|
|
|
- // $morehtmlright .= dolGetButtonTitle($langs->trans('TicketAddMessage'), '', 'fa fa-comment-dots', $url, 'add-new-ticket-title-button', $btnstatus);
|
|
|
+// // Show link to add a private message (if read and not closed)
|
|
|
+// $btnstatus = $object->status < Ticket::STATUS_CLOSED && $action != "presend" && $action != "presend_addmessage";
|
|
|
+// $url = 'card.php?track_id='.$object->track_id.'&action=presend_addmessage&mode=init&backtopage='.urlencode($_SERVER["PHP_SELF"].'?track_id='.$object->track_id).'#formmailbeforetitle';
|
|
|
+// $morehtmlright .= dolGetButtonTitle($langs->trans('TicketAddMessage'), '', 'fa fa-comment-dots', $url, 'add-new-ticket-title-button', $btnstatus);
|
|
|
|
|
|
- if (isModEnabled('agenda')) {
|
|
|
- if ($user->hasRight('agenda', 'myactions', 'create') || $user->hasRight('agenda', 'allactions', 'create')) {
|
|
|
- $morehtmlright .= dolGetButtonTitle($langs->trans('AddAction'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/comm/action/card.php?action=create'.$out);
|
|
|
- }
|
|
|
+if (isModEnabled('agenda')) {
|
|
|
+ if ($user->hasRight('agenda', 'myactions', 'create') || $user->hasRight('agenda', 'allactions', 'create')) {
|
|
|
+ $morehtmlright .= dolGetButtonTitle($langs->trans('AddAction'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/comm/action/card.php?action=create'.$out);
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- if (isModEnabled('agenda') && ($user->hasRight('agenda', 'myactions', 'read') || $user->hasRight('agenda', 'allactions', 'read'))) {
|
|
|
- print '<br>';
|
|
|
+if (isModEnabled('agenda') && ($user->hasRight('agenda', 'myactions', 'read') || $user->hasRight('agenda', 'allactions', 'read'))) {
|
|
|
+ print '<br>';
|
|
|
|
|
|
- $param = '&socid='.urlencode($socid);
|
|
|
- if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
|
|
|
- $param .= '&contextpage='.urlencode($contextpage);
|
|
|
- }
|
|
|
- if ($limit > 0 && $limit != $conf->liste_limit) {
|
|
|
- $param .= '&limit='.((int) $limit);
|
|
|
- }
|
|
|
+ $param = '&socid='.urlencode($socid);
|
|
|
+ if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
|
|
|
+ $param .= '&contextpage='.urlencode($contextpage);
|
|
|
+ }
|
|
|
+ if ($limit > 0 && $limit != $conf->liste_limit) {
|
|
|
+ $param .= '&limit='.((int) $limit);
|
|
|
+ }
|
|
|
|
|
|
- // Try to know count of actioncomm from cache
|
|
|
- require_once DOL_DOCUMENT_ROOT.'/core/lib/memory.lib.php';
|
|
|
- $cachekey = 'count_events_thirdparty_'.$object->id;
|
|
|
- $nbEvent = dol_getcache($cachekey);
|
|
|
+ // Try to know count of actioncomm from cache
|
|
|
+ require_once DOL_DOCUMENT_ROOT.'/core/lib/memory.lib.php';
|
|
|
+ $cachekey = 'count_events_thirdparty_'.$object->id;
|
|
|
+ $nbEvent = dol_getcache($cachekey);
|
|
|
|
|
|
- $titlelist = $langs->trans("ActionsOnCompany").(is_numeric($nbEvent) ? '<span class="opacitymedium colorblack paddingleft">('.$nbEvent.')</span>': '');
|
|
|
- if (!empty($conf->dol_optimize_smallscreen)) {
|
|
|
- $titlelist = $langs->trans("Actions").(is_numeric($nbEvent) ? '<span class="opacitymedium colorblack paddingleft">('.$nbEvent.')</span>': '');
|
|
|
- }
|
|
|
+ $titlelist = $langs->trans("ActionsOnCompany").(is_numeric($nbEvent) ? '<span class="opacitymedium colorblack paddingleft">('.$nbEvent.')</span>': '');
|
|
|
+ if (!empty($conf->dol_optimize_smallscreen)) {
|
|
|
+ $titlelist = $langs->trans("Actions").(is_numeric($nbEvent) ? '<span class="opacitymedium colorblack paddingleft">('.$nbEvent.')</span>': '');
|
|
|
+ }
|
|
|
|
|
|
- print_barre_liste($titlelist, 0, $_SERVER["PHP_SELF"], '', $sortfield, $sortorder, '', 0, -1, '', 0, $morehtmlright, '', 0, 1, 0);
|
|
|
+ print_barre_liste($titlelist, 0, $_SERVER["PHP_SELF"], '', $sortfield, $sortorder, '', 0, -1, '', 0, $morehtmlright, '', 0, 1, 0);
|
|
|
|
|
|
- // List of all actions
|
|
|
- $filters = array();
|
|
|
- $filters['search_agenda_label'] = $search_agenda_label;
|
|
|
- $filters['search_rowid'] = $search_rowid;
|
|
|
+ // List of all actions
|
|
|
+ $filters = array();
|
|
|
+ $filters['search_agenda_label'] = $search_agenda_label;
|
|
|
+ $filters['search_rowid'] = $search_rowid;
|
|
|
|
|
|
- // TODO Replace this with same code than into list.php
|
|
|
- show_actions_messaging($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder);
|
|
|
- }
|
|
|
+ // TODO Replace this with same code than into list.php
|
|
|
+ show_actions_messaging($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder);
|
|
|
}
|
|
|
|
|
|
// End of page
|