27 require
'../main.inc.php';
28 require_once DOL_DOCUMENT_ROOT.
'/don/class/don.class.php';
33 $hookmanager->initHooks(array(
'donationindex'));
35 $langs->load(
"donations");
40 $donation_static =
new Don($db);
54 $donstatic =
new Don($db);
56 $help_url =
'EN:Module_Donations|FR:Module_Dons|ES:Módulo_Donaciones';
57 llxHeader(
'', $langs->trans(
"Donations"), $help_url);
63 $sql =
"SELECT count(d.rowid) as nb, sum(d.amount) as somme , d.fk_statut";
64 $sql .=
" FROM ".MAIN_DB_PREFIX.
"don as d WHERE d.entity IN (".
getEntity(
'donation').
")";
65 $sql .=
" GROUP BY d.fk_statut";
66 $sql .=
" ORDER BY d.fk_statut";
68 $result = $db->query($sql);
72 $num = $db->num_rows($result);
75 $objp = $db->fetch_object($result);
77 $somme[$objp->fk_statut] = $objp->somme;
78 $nb[$objp->fk_statut] = $objp->nb;
79 $total += $objp->somme;
91 print '<div class="fichecenter"><div class="fichethirdleft">';
93 if (!empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS))
95 if (!empty($conf->don->enabled) && $user->rights->don->lire)
97 $listofsearchfields[
'search_donation'] = array(
'text'=>
'Donation');
100 if (count($listofsearchfields))
102 print
'<form method="post" action="'.DOL_URL_ROOT.
'/core/search.php">';
103 print
'<input type="hidden" name="token" value="'.newToken().
'">';
104 print
'<table class="noborder nohover centpercent">';
106 foreach ($listofsearchfields as $key => $value)
108 if ($i == 0) print
'<tr class="liste_titre"><td colspan="3">'.$langs->trans(
"Search").
'</td></tr>';
109 print
'<tr '.$bc[
false].
'>';
110 print
'<td class="nowrap"><label for="'.$key.
'">'.$langs->trans($value[
"text"]).
'</label></td><td><input type="text" class="flat inputsearch" name="'.$key.
'" id="'.$key.
'"></td>';
111 if ($i == 0) print
'<td rowspan="'.count($listofsearchfields).
'"><input type="submit" value="'.$langs->trans(
"Search").
'" class="button"></td>';
121 $dataseries = array();
122 $colorseries = array();
124 include_once DOL_DOCUMENT_ROOT.
'/theme/'.$conf->theme.
'/theme_vars.inc.php';
126 print
'<table class="noborder nohover centpercent">';
127 print
'<tr class="liste_titre">';
128 print
'<th colspan="4">'.$langs->trans(
"Statistics").
'</th>';
131 $listofstatus = array(0, 1, -1, 2);
132 foreach ($listofstatus as $status)
134 $dataseries[] = array($donstatic->LibStatut($status, 1), (isset($nb[$status]) ? (int) $nb[$status] : 0));
135 if ($status == Don::STATUS_DRAFT) $colorseries[$status] =
'-'.$badgeStatus0;
136 if ($status == Don::STATUS_VALIDATED) $colorseries[$status] = $badgeStatus1;
137 if ($status == Don::STATUS_CANCELED) $colorseries[$status] = $badgeStatus9;
138 if ($status == Don::STATUS_PAID) $colorseries[$status] = $badgeStatus6;
141 if ($conf->use_javascript_ajax)
143 print
'<tr><td class="center" colspan="4">';
145 include_once DOL_DOCUMENT_ROOT.
'/core/class/dolgraph.class.php';
147 $dolgraph->SetData($dataseries);
148 $dolgraph->SetDataColor(array_values($colorseries));
149 $dolgraph->setShowLegend(2);
150 $dolgraph->setShowPercent(1);
151 $dolgraph->SetType(array(
'pie'));
152 $dolgraph->setHeight(
'200');
153 $dolgraph->draw(
'idgraphstatus');
154 print $dolgraph->show($total ? 0 : 1);
159 print
'<tr class="liste_titre">';
160 print
'<td>'.$langs->trans(
"Status").
'</td>';
161 print
'<td class="right">'.$langs->trans(
"Number").
'</td>';
162 print
'<td class="right">'.$langs->trans(
"Total").
'</td>';
163 print
'<td class="right">'.$langs->trans(
"Average").
'</td>';
168 foreach ($listofstatus as $status)
170 print
'<tr class="oddeven">';
171 print
'<td><a href="list.php?search_status='.$status.
'">'.$donstatic->LibStatut($status, 4).
'</a></td>';
172 print
'<td class="right">'.(!empty($nb[$status]) ? $nb[$status] :
' ').
'</td>';
173 print
'<td class="right">'.(!empty($nb[$status]) ?
price($somme[$status],
'MT') :
' ').
'</td>';
174 print
'<td class="right">'.(!empty($nb[$status]) ?
price(
price2num($somme[$status] / $nb[$status],
'MT')) :
' ').
'</td>';
175 $totalnb += (!empty($nb[$status]) ? $nb[$status] : 0);
176 $total += (!empty($somme[$status]) ? $somme[$status] : 0);
180 print
'<tr class="liste_total">';
181 print
'<td>'.$langs->trans(
"Total").
'</td>';
182 print
'<td class="right">'.$totalnb.
'</td>';
183 print
'<td class="right">'.price($total,
'MT').
'</td>';
184 print
'<td class="right">'.($totalnb ?
price(
price2num($total / $totalnb,
'MT')) :
' ').
'</td>';
189 print
'</div><div class="fichetwothirdright"><div class="ficheaddleft">';
198 $sql =
"SELECT c.rowid, c.ref, c.fk_statut, c.societe, c.lastname, c.firstname, c.tms as datem, c.amount";
199 $sql .=
" FROM ".MAIN_DB_PREFIX.
"don as c";
200 $sql .=
" WHERE c.entity = ".$conf->entity;
202 $sql .=
" ORDER BY c.tms DESC";
203 $sql .= $db->plimit($max, 0);
205 $resql = $db->query($sql);
208 print
'<table class="noborder centpercent">';
209 print
'<tr class="liste_titre">';
210 print
'<th colspan="5">'.$langs->trans(
"LastModifiedDonations", $max).
'</th></tr>';
212 $num = $db->num_rows(
$resql);
218 $obj = $db->fetch_object(
$resql);
220 print
'<tr class="oddeven">';
222 $donation_static->id = $obj->rowid;
223 $donation_static->ref = $obj->ref ? $obj->ref : $obj->rowid;
225 print
'<td width="96" class="nobordernopadding nowrap">';
226 print $donation_static->getNomUrl(1);
229 print
'<td class="nobordernopadding">';
231 print ($obj->societe && ($obj->lastname || $obj->firstname) ?
' / ' :
'');
235 print
'<td class="right nobordernopadding">';
236 print
price($obj->amount, 1);
240 print
'<td class="center">'.dol_print_date($db->jdate($obj->datem),
'day').
'</td>';
242 print
'<td class="right">'.$donation_static->LibStatut($obj->fk_statut, 5).
'</td>';
248 print
"</table><br>";
252 print
'</div></div></div>';
254 $parameters = array(
'user' => $user);
255 $reshook = $hookmanager->executeHooks(
'dashboardDonation', $parameters, $object);
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...
getEntity($element, $shared=1, $currentobject=null)
Get list of entity id to use.
load_fiche_titre($titre, $morehtmlright= '', $picto= 'generic', $pictoisfullpath=0, $id= '', $morecssontable= '', $morehtmlcenter= '')
Load a title with picto.
price2num($amount, $rounding= '', $option=0)
Function that return a number with universal decimal format (decimal separator is '...
restrictedArea($user, $features, $objectid=0, $tableandshare= '', $feature2= '', $dbt_keyfield= 'fk_soc', $dbt_select= 'rowid', $isdraft=0)
Check permissions of a user to show a page and an object.
print
Draft customers invoices.
Class to manage donations.
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.
dol_print_error($db= '', $error= '', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
dolGetFirstLastname($firstname, $lastname, $nameorder=-1)
Return firstname and lastname in correct order.