Fix missing tab info on holiday

This commit is contained in:
Laurent Destailleur 2021-02-04 12:15:31 +01:00
parent 284042af7a
commit 524b28d8c3
3 changed files with 186 additions and 0 deletions

View File

@ -51,6 +51,11 @@ function holiday_prepare_head($object)
$head[$h][2] = 'documents';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/holiday/info.php?id='.$object->id;
$head[$h][1] = $langs->trans("Info");
$head[$h][2] = 'info';
$h++;
// Show more tabs from modules
// 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

View File

@ -2073,6 +2073,81 @@ class Holiday extends CommonObject
}
/**
* Load information on object
*
* @param int $id Id of object
* @return void
*/
public function info($id)
{
global $conf;
$sql = "SELECT f.rowid,";
$sql .= " f.date_create as datec,";
$sql .= " f.tms as date_modification,";
$sql .= " f.date_valid as datev,";
//$sql .= " f.date_approve as datea,";
$sql .= " f.date_refuse as dater,";
$sql .= " f.fk_user_create as fk_user_creation,";
$sql .= " f.fk_user_modif as fk_user_modification,";
$sql .= " f.fk_user_valid,";
$sql .= " f.fk_validator as fk_user_approve,";
$sql .= " f.fk_user_refuse as fk_user_refuse";
$sql .= " FROM ".MAIN_DB_PREFIX."holiday as f";
$sql .= " WHERE f.rowid = ".$id;
$sql .= " AND f.entity = ".$conf->entity;
$resql = $this->db->query($sql);
if ($resql)
{
if ($this->db->num_rows($resql))
{
$obj = $this->db->fetch_object($resql);
$this->id = $obj->rowid;
$this->date_creation = $this->db->jdate($obj->datec);
$this->date_modification = $this->db->jdate($obj->date_modification);
$this->date_validation = $this->db->jdate($obj->datev);
$this->date_approbation = $this->db->jdate($obj->datea);
$cuser = new User($this->db);
$cuser->fetch($obj->fk_user_author);
$this->user_creation = $cuser;
if ($obj->fk_user_creation)
{
$cuser = new User($this->db);
$cuser->fetch($obj->fk_user_creation);
$this->user_creation = $cuser;
}
if ($obj->fk_user_valid)
{
$vuser = new User($this->db);
$vuser->fetch($obj->fk_user_valid);
$this->user_validation = $vuser;
}
if ($obj->fk_user_modification)
{
$muser = new User($this->db);
$muser->fetch($obj->fk_user_modification);
$this->user_modification = $muser;
}
if ($obj->fk_user_approve)
{
$auser = new User($this->db);
$auser->fetch($obj->fk_user_approve);
$this->user_approve = $auser;
}
}
$this->db->free($resql);
} else {
dol_print_error($this->db);
}
}
/**
* Initialise an instance with random values.
* Used to build previews or test instances.

106
htdocs/holiday/info.php Normal file
View File

@ -0,0 +1,106 @@
<?php
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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 <https://www.gnu.org/licenses/>.
* or see https://www.gnu.org/
*/
/**
* \file htdocs/holiday/info.php
* \ingroup holiday
* \brief Page to show a leave information
*/
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/holiday.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
require_once DOL_DOCUMENT_ROOT.'/holiday/class/holiday.class.php';
// Load translation files required by the page
$langs->load("holiday");
$id = GETPOST('id', 'int');
$ref = GETPOST('ref', 'alpha');
$childids = $user->getAllChildIds(1);
// Security check
if ($user->socid) $socid = $user->socid;
$result = restrictedArea($user, 'holiday', $id, 'holiday');
$object = new Holiday($db);
if (!$object->fetch($id, $ref) > 0)
{
dol_print_error($db);
}
if ($object->id > 0)
{
// Check current user can read this expense report
$canread = 0;
if (!empty($user->rights->holiday->readall)) $canread = 1;
if (!empty($user->rights->holiday->lire) && in_array($object->fk_user_author, $childids)) $canread = 1;
if (!$canread)
{
accessforbidden();
}
}
/*
* View
*/
$form = new Form($db);
$title = $langs->trans("Holiday")." - ".$langs->trans("Info");
$helpurl = "";
llxHeader("", $title, $helpurl);
if ($id > 0 || !empty($ref))
{
$object = new Holiday($db);
$object->fetch($id, $ref);
$object->info($object->id);
$head = holiday_prepare_head($object);
print dol_get_fiche_head($head, 'info', $langs->trans("Holiday"), -1, 'holiday');
$linkback = '<a href="'.DOL_URL_ROOT.'/holiday/list.php?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';
$morehtmlref = '<div class="refidno">';
$morehtmlref .= '</div>';
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<br>';
print '<table width="100%"><tr><td>';
dol_print_object_info($object);
print '</td></tr></table>';
print '</div>';
print dol_get_fiche_end();
}
// End of page
llxFooter();
$db->close();