26require 
'../main.inc.php';
 
   27require_once DOL_DOCUMENT_ROOT . 
'/core/lib/asset.lib.php';
 
   28require_once DOL_DOCUMENT_ROOT . 
'/asset/class/asset.class.php';
 
   29require_once DOL_DOCUMENT_ROOT . 
'/asset/class/assetdepreciationoptions.class.php';
 
   32$langs->loadLangs(array(
"assets", 
"companies"));
 
   37$action = 
GETPOST(
'action', 
'aZ09');
 
   38$cancel = 
GETPOST(
'cancel', 
'aZ09');
 
   39$backtopage = 
GETPOST(
'backtopage', 
'alpha');
 
   45$diroutputmassaction = $conf->asset->dir_output.
'/temp/massgeneration/'.$user->id;
 
   46$hookmanager->initHooks(array(
'assetdepreciation', 
'globalcard')); 
 
   48$extrafields->fetch_name_optionals_label(
$object->table_element);
 
   51include DOL_DOCUMENT_ROOT . 
'/core/actions_fetchobject.inc.php'; 
 
   52if ($id > 0 || !empty($ref)) {
 
   53  $upload_dir = $conf->asset->multidir_output[
$object->entity] . 
"/" . 
$object->id;
 
   57if ($user->socid > 0) {
 
   60$isdraft = ((
$object->status == $object::STATUS_DRAFT) ? 1 : 0);
 
   62if (!isModEnabled(
'asset')) {
 
   65if (!empty(
$object->not_depreciated)) {
 
   69$object->asset_depreciation_options = &$assetdepreciationoptions;
 
   70$result = $assetdepreciationoptions->fetchDeprecationOptions(
$object->id);
 
   72  setEventMessages($assetdepreciationoptions->error, $assetdepreciationoptions->errors, 
'errors');
 
   74$result = 
$object->fetchDepreciationLines();
 
   85$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action); 
 
  100llxHeader(
'', $langs->trans(
'Asset'), $help_url, 
'', 0, 0, 
'', 
'', 
'', 
'mod-asset page-card_depreciation');
 
  102if ($id > 0 || !empty($ref)) {
 
  108  $linkback = 
'<a href="' . DOL_URL_ROOT . 
'/asset/list.php?restore_lastsearch_values=1' . (!empty($socid) ? 
'&socid=' . $socid : 
'') . 
'">' . $langs->trans(
"BackToList") . 
'</a>';
 
  110  $morehtmlref = 
'<div class="refidno">';
 
  111  $morehtmlref .= 
'</div>';
 
  113  dol_banner_tab($object, 
'ref', $linkback, 1, 
'ref', 
'ref', $morehtmlref);
 
  115  print 
'<div class="fichecenter">';
 
  116  print 
'<div class="underbanner clearboth"></div>';
 
  121  $parameters = array();
 
  122  $reshook = $hookmanager->executeHooks(
'listAssetDeprecation', $parameters, $object, $action);
 
  123  print $hookmanager->resPrint;
 
  126  } elseif (empty($reshook)) {
 
  127    $bookkeeping_icon = 
'<i class="fas fa-save" title="'.$langs->trans(
'AssetDispatchedInBookkeeping').
'"></i>';
 
  128    $future_icon = 
'<i class="fas fa-clock" title="'.$langs->trans(
'AssetFutureDepreciationLine').
'"></i>';
 
  131    foreach ($assetdepreciationoptions->deprecation_options_fields as $mode_key => $fields) {
 
  132      $lines = 
$object->depreciation_lines[$mode_key];
 
  133      if (!empty($lines)) {
 
  134        $mode_info = $assetdepreciationoptions->deprecation_options_fields[$mode_key];
 
  135        $depreciation_info = $assetdepreciationoptions->getGeneralDepreciationInfoForMode($mode_key);
 
  141        print 
'<div class="fichecenter">';
 
  142        print 
'<div class="fichehalfleft">';
 
  143        print 
'<div class="underbanner clearboth"></div>';
 
  144        print 
'<table class="border centpercent tableforfield">' . 
"\n";
 
  145        print 
'<tr><td class="titlefield">' . $langs->trans(
'AssetBaseDepreciationHT') . 
'</td><td>' . 
price($depreciation_info[
'base_depreciation_ht']) . 
'</td></tr>';
 
  146        print 
'<tr><td class="titlefield">' . $langs->trans(
'AssetDepreciationBeginDate') . 
'</td><td>' . 
dol_print_date(
$object->date_start > 
$object->date_acquisition ? 
$object->date_start : 
$object->date_acquisition, 
'day') . 
'</td></tr>';
 
  151        print 
'<div class="fichehalfright">';
 
  153        print 
'<div class="underbanner clearboth"></div>';
 
  154        print 
'<table class="border centpercent tableforfield">';
 
  155        print 
'<tr><td class="titlefield">' . $langs->trans(
'AssetDepreciationDuration') . 
'</td><td>' . $depreciation_info[
'duration'] . 
' ( ' . $depreciation_info[
'duration_type'] . 
' )</td></tr>';
 
  156        print 
'<tr><td class="titlefield">' . $langs->trans(
'AssetDepreciationRate') . 
'</td><td>' . $depreciation_info[
'rate'] . 
'</td></tr>';
 
  160        print 
'<div class="clearboth"></div>';
 
  165        print 
'<div class="div-table-responsive-no-min">';
 
  166        print 
'<table class="noborder allwidth">';
 
  168        print 
'<tr class="liste_titre">';
 
  169        print 
'<td class="width20"></td>';
 
  170        print 
'<td>' . $langs->trans(
"Ref") . 
'</td>';
 
  171        print 
'<td class="center">' . $langs->trans(
"AssetDepreciationDate") . 
'</td>';
 
  172        print 
'<td class="right">' . $langs->trans(
"AssetDepreciationHT") . 
'</td>';
 
  173        print 
'<td class="right">' . $langs->trans(
"AssetCumulativeDepreciationHT") . 
'</td>';
 
  174        print 
'<td class="right">' . $langs->trans(
"AssetResidualHT") . 
'</td>';
 
  178          print 
'<tr><td class="impair center" colspan="6"><span class="opacitymedium">' . $langs->trans(
"None") . 
'</span></td></tr>';
 
  180          foreach ($lines as $line) {
 
  181            print 
'<tr class="oddeven">';
 
  182            print 
'<td>' . ($line[
'bookkeeping'] ? $bookkeeping_icon : ($line[
'depreciation_date'] > $now ? $future_icon : 
'')) . 
'</td>';
 
  183            print 
'<td >' . (empty($line[
'ref']) ? $langs->trans(
'AssetDepreciationReversal') : $line[
'ref']) . 
'</td>';
 
  184            print 
'<td class="center">' . 
dol_print_date($line[
'depreciation_date'], 
'day') . 
'</td>';
 
  185            print 
'<td class="right">';
 
  186            print 
price($line[
'depreciation_ht']);
 
  188            print 
'<td class="right">';
 
  189            print 
price($line[
'cumulative_depreciation_ht']);
 
  191            print 
'<td class="right">';
 
  192            print 
price(
price2num($depreciation_info[
'base_depreciation_ht'] - $line[
'cumulative_depreciation_ht'], 
'MT'));
 
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
 
assetPrepareHead(Asset $object)
Prepare array of tabs for Asset.
 
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
 
Class for AssetDepreciationOptions.
 
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
 
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
 
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
 
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
 
dol_get_fiche_end($notab=0)
Return tab footer of a card.
 
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
 
dol_now($mode='auto')
Return date for now.
 
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
 
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
 
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
 
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.
 
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.