29require
'../../main.inc.php';
30require_once DOL_DOCUMENT_ROOT.
'/core/lib/agenda.lib.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
42$langs->load(
"propal");
44if ($user->socid > 0) {
45 $socid = $user->socid;
52 $socid = $user->socid;
70print
'<div class="fichecenter"><div class="fichethirdleft">';
75 print
'<form method="post" action="'.DOL_URL_ROOT.
'/comm/propal/card.php">';
76 print
'<input type="hidden" name="token" value="'.newToken().
'">';
77 print
'<table class="noborder nohover centpercent">';
78 print
'<tr class="liste_titre"><td colspan="3">'.$langs->trans(
"SearchAProposal").
'</td></tr>';
79 print
'<tr class="oddeven"><td>';
80 print $langs->trans(
"Ref").
':</td><td><input type="text" class="flat" name="sf_ref" size="18"></td><td rowspan="2"><input type="submit" value="'.$langs->trans(
"Search").
'" class="button"></td></tr>';
81 print
'<tr class="oddeven"><td class="nowrap">'.$langs->trans(
"Other").
':</td><td><input type="text" class="flat" name="sall" size="18"></td>';
83 print
"</table></form><br>\n";
90$sql =
"SELECT count(*) as cc, st.libelle as stcomm, st.picto, st.id";
91$sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
92$sql .=
", ".MAIN_DB_PREFIX.
"c_stcomm as st ";
93$sql .=
" WHERE s.fk_stcomm = st.id";
94$sql .=
" AND s.client IN (2, 3)";
95$sql .=
" AND s.entity IN (".getEntity($companystatic->element).
")";
98if (!$user->hasRight(
'societe',
'client',
'voir')) {
99 $search_sale = $user->id;
102if ($search_sale && $search_sale !=
'-1') {
103 if ($search_sale == -2) {
104 $sql .=
" AND ".getSalesRepresentativeSqlFilter(
's.rowid', 0, 1);
105 } elseif ($search_sale > 0) {
106 $sql .=
" AND ".getSalesRepresentativeSqlFilter(
's.rowid', (
int) $search_sale);
111 $sql .=
" AND s.rowid = ".((int) $socid);
113$sql .=
" GROUP BY st.id";
114$sql .=
" ORDER BY st.id";
116$resql =
$db->query($sql);
118 $num =
$db->num_rows($resql);
121 print
'<table class="noborder centpercent">';
122 print
'<tr class="liste_titre">';
123 print
'<td colspan="2">'.$langs->trans(
"ProspectsByStatus").
'</td></tr>';
125 $obj =
$db->fetch_object($resql);
127 print
'<tr class="oddeven"><td>';
128 print
'<a href="prospects.php?page=0&stcomm='.$obj->id.
'">';
129 print
img_action($langs->trans(
"Show"), $obj->id, $obj->picto).
' ';
130 print $langs->trans(
"StatusProspect".$obj->id);
131 print
'</a></td><td class="right">'.$obj->cc.
'</td></tr>';
134 print
"</table><br>";
142if (
isModEnabled(
"propal") && $user->hasRight(
'propal',
'lire')) {
143 $sql =
"SELECT p.rowid, p.ref, p.price, s.nom as sname";
144 $sql .=
" FROM ".MAIN_DB_PREFIX.
"propal as p";
145 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
146 $sql .=
" WHERE p.fk_statut = 0";
147 $sql .=
" AND p.fk_soc = s.rowid";
148 $sql .=
" AND p.entity IN (".getEntity(
'propal').
")";
151 if (!$user->hasRight(
'societe',
'client',
'voir')) {
152 $search_sale = $user->id;
155 if ($search_sale && $search_sale !=
'-1') {
156 if ($search_sale == -2) {
157 $sql .=
" AND ".getSalesRepresentativeSqlFilter(
's.rowid', 0, 1);
158 } elseif ($search_sale > 0) {
159 $sql .=
" AND ".getSalesRepresentativeSqlFilter(
's.rowid', (
int) $search_sale);
164 $sql .=
" AND s.rowid = ".((int) $socid);
167 $resql =
$db->query($sql);
170 $num =
$db->num_rows($resql);
173 print
'<table class="noborder"" width="100%">';
174 print
'<tr class="liste_titre">';
175 print
'<td colspan="2">'.$langs->trans(
"ProposalsDraft").
'</td></tr>';
178 $obj =
$db->fetch_object($resql);
180 print
'<tr class="oddeven"><td>';
181 print
'<a href="'.DOL_URL_ROOT.
'/comm/propal/card.php?id='.$obj->rowid.
'">'.
img_object($langs->trans(
"ShowPropal"),
"propal").
' '.$obj->ref.
'</a>';
182 print
'</td><td class="right">';
183 print
price($obj->price);
186 $total += $obj->price;
189 print
'<tr class="liste_total"><td>'.$langs->trans(
"Total").
"</td><td align=\"right\">".
price($total).
"</td></tr>";
191 print
"</table><br>";
198print
'</div><div class="fichetwothirdright">';
211if (
isModEnabled(
"propal") && $user->hasRight(
'propal',
'lire')) {
212 $sql =
"SELECT s.nom as name, s.rowid as socid, s.client, s.canvas,";
213 $sql .=
" p.rowid as propalid, p.total_ttc, p.ref, p.datep as dp, c.label as statut, c.id as statutid";
214 $sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
215 $sql .=
", ".MAIN_DB_PREFIX.
"propal as p";
216 $sql .=
", ".MAIN_DB_PREFIX.
"c_propalst as c";
217 $sql .=
" WHERE p.fk_soc = s.rowid";
218 $sql .=
" AND p.fk_statut = c.id";
219 $sql .=
" AND p.fk_statut = 1";
220 $sql .=
" AND p.entity IN (".getEntity(
'propal').
")";
223 if (!$user->hasRight(
'societe',
'client',
'voir')) {
224 $search_sale = $user->id;
227 if ($search_sale && $search_sale !=
'-1') {
228 if ($search_sale == -2) {
229 $sql .=
" AND ".getSalesRepresentativeSqlFilter(
'p.fk_soc', 0, 1);
230 } elseif ($search_sale > 0) {
231 $sql .=
" AND ".getSalesRepresentativeSqlFilter(
'p.fk_soc', (
int) $search_sale);
236 $sql .=
" AND p.fk_soc = ".((int) $socid);
238 $sql .=
" ORDER BY p.rowid DESC";
239 $sql .=
$db->plimit(5, 0);
241 $resql =
$db->query($sql);
244 $num =
$db->num_rows($resql);
247 print
'<table class="noborder centpercent">';
248 print
'<tr class="liste_titre"><td colspan="4">'.$langs->trans(
"ProposalsOpened").
'</td></tr>';
251 $obj =
$db->fetch_object($resql);
253 print
'<tr class="oddeven"><td>';
254 print
'<a href="../propal.php?id='.$obj->propalid.
'">';
255 print
img_object($langs->trans(
"ShowPropal"),
"propal").
' '.$obj->ref.
'</a></td>';
258 $companystatic->id = $obj->socid;
259 $companystatic->name = $obj->name;
260 $companystatic->client = $obj->client;
261 $companystatic->canvas = $obj->canvas;
262 print $companystatic->getNomUrl(1,
'', 44);
264 print
"<td align=\"right\">";
266 print
"<td align=\"right\">".price($obj->total_ttc).
"</td></tr>\n";
268 $total += $obj->price;
271 print
'<tr class="liste_total"><td colspan="3" class="right">'.$langs->trans(
"Total").
"</td><td class=\"right\">".
price($total).
"</td></tr>";
273 print
"</table><br>";
283$sql =
"SELECT s.nom as name, s.rowid as socid, s.client, s.canvas";
284$sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
285$sql .=
" WHERE s.fk_stcomm = 1";
286$sql .=
" AND s.entity IN (".getEntity($companystatic->element).
")";
289if (!$user->hasRight(
'societe',
'client',
'voir')) {
290 $search_sale = $user->id;
293if ($search_sale && $search_sale !=
'-1') {
294 if ($search_sale == -2) {
295 $sql .=
" AND ".getSalesRepresentativeSqlFilter(
's.rowid', 0, 1);
296 } elseif ($search_sale > 0) {
297 $sql .=
" AND ".getSalesRepresentativeSqlFilter(
's.rowid', (
int) $search_sale);
302 $sql .=
" AND s.rowid = ".((int) $socid);
304$sql .=
" ORDER BY s.tms ASC";
305$sql .=
$db->plimit(15, 0);
307$resql =
$db->query($sql);
309 $num =
$db->num_rows($resql);
312 print
'<table class="noborder centpercent">';
313 print
'<tr class="liste_titre"><td>'.$langs->trans(
"ProspectToContact").
'</td></tr>';
316 $obj =
$db->fetch_object($resql);
318 print
'<tr class="oddeven"><td width="12%">';
319 $companystatic->id = $obj->socid;
320 $companystatic->name = $obj->name;
321 $companystatic->client = $obj->client;
322 $companystatic->canvas = $obj->canvas;
323 print $companystatic->getNomUrl(1,
'prospect', 44);
327 print
"</table><br>";
show_array_actions_to_do($max=5)
Show actions to do array.
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Class to manage third parties objects (customers, suppliers, prospects...)
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.
GETPOSTINT($paramname, $method=0, $nodefault=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false, $decorate=0)
Output date in a string format according to outputlangs (or langs if not defined).
isModEnabled($module)
Is Dolibarr module enabled.
img_action($titlealt, $numaction, $picto='', $moreatt='')
Show logo action.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $allowothertags=array())
Show a picto called object_picto (generic function)
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
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.