dolibarr  9.0.0
info.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
3  * Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
4  * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
5  * Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  */
20 
27 require '../../main.inc.php';
28 require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php';
29 require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
30 require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
31 require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
32 if (! empty($conf->projet->enabled)) {
33  require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php';
34 }
35 
36 // Load translation files required by the page
37 $langs->loadLangs(array("suppliers", "orders", "companies", "stocks"));
38 
39 $id=GETPOST('id','int');
40 $ref=GETPOST('ref','alpha');
41 $action = GETPOST('action','alpha');
42 
43 if (GETPOST('actioncode','array'))
44 {
45  $actioncode=GETPOST('actioncode','array',3);
46  if (! count($actioncode)) $actioncode='0';
47 }
48 else
49 {
50  $actioncode=GETPOST("actioncode","alpha",3)?GETPOST("actioncode","alpha",3):(GETPOST("actioncode")=='0'?'0':(empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECTS)?'':$conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECTS));
51 }
52 $search_agenda_label=GETPOST('search_agenda_label');
53 
54 // Security check
55 $socid=0;
56 if ($user->societe_id) $socid=$user->societe_id;
57 $result=restrictedArea($user, 'fournisseur', $id, 'commande_fournisseur', 'commande');
58 
59 if (!$user->rights->fournisseur->commande->lire) accessforbidden();
60 
61 
62 
63 
64 /*
65  * Actions
66  */
67 
68 $parameters=array('id'=>$id);
69 $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
70 if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
71 
72 // Purge search criteria
73 if (GETPOST('button_removefilter_x','alpha') || GETPOST('button_removefilter.x','alpha') || GETPOST('button_removefilter','alpha')) // All test are required to be compatible with all browsers
74 {
75  $actioncode='';
76  $search_agenda_label='';
77 }
78 
79 
80 
81 /*
82  * View
83  */
84 
85 $form = new Form($db);
86 $object = new CommandeFournisseur($db);
87 
88 if ($id > 0 || ! empty($ref))
89 {
90  $object->fetch($id, $ref);
91  $object->fetch_thirdparty();
92  $object->info($object->id);
93 }
94 
95 $title=$langs->trans("SupplierOrder").' - '.$object->ref.' '.$object->name;
96 if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/projectnameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->ref.' '.$object->name.' - '.$langs->trans("Info");
97 $help_url='EN:Module_Suppliers_Orders|FR:CommandeFournisseur|ES:Módulo_Pedidos_a_proveedores';
98 llxHeader('',$title,$help_url);
99 
100 $now=dol_now();
101 
102 $head = ordersupplier_prepare_head($object);
103 
104 
105 dol_fiche_head($head, 'info', $langs->trans("SupplierOrder"), -1, 'order');
106 
107 
108 // Supplier order card
109 
110 $linkback = '<a href="'.DOL_URL_ROOT.'/fourn/commande/list.php'.(! empty($socid)?'?socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
111 
112 $morehtmlref='<div class="refidno">';
113 // Ref supplier
114 $morehtmlref.=$form->editfieldkey("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, 0, 'string', '', 0, 1);
115 $morehtmlref.=$form->editfieldval("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, 0, 'string', '', null, null, '', 1);
116 // Thirdparty
117 $morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1);
118 // Project
119 if (! empty($conf->projet->enabled))
120 {
121  $langs->load("projects");
122  $morehtmlref.='<br>'.$langs->trans('Project') . ' ';
123  if ($user->rights->fournisseur->commande->creer)
124  {
125  if ($action != 'classify')
126  //$morehtmlref.='<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&amp;id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
127  $morehtmlref.=' : ';
128  if ($action == 'classify') {
129  //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
130  $morehtmlref.='<form method="post" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'">';
131  $morehtmlref.='<input type="hidden" name="action" value="classin">';
132  $morehtmlref.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
133  $morehtmlref.=$formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
134  $morehtmlref.='<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'">';
135  $morehtmlref.='</form>';
136  } else {
137  $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
138  }
139  } else {
140  if (! empty($object->fk_project)) {
141  $proj = new Project($db);
142  $proj->fetch($object->fk_project);
143  $morehtmlref.='<a href="'.DOL_URL_ROOT.'/projet/card.php?id=' . $object->fk_project . '" title="' . $langs->trans('ShowProject') . '">';
144  $morehtmlref.=$proj->ref;
145  $morehtmlref.='</a>';
146  } else {
147  $morehtmlref.='';
148  }
149  }
150 }
151 $morehtmlref.='</div>';
152 
153 dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
154 
155 
156 print '<div class="fichecenter">';
157 print '<div class="underbanner clearboth"></div>';
158 
159 dol_print_object_info($object, 1);
160 
161 print '</div>';
162 
163 print '<div class="clearboth"></div>';
164 
165 dol_fiche_end();
166 
167 
168 
169 
170 // Actions buttons
171 
172 $out='';
173 $permok=$user->rights->agenda->myactions->create;
174 if ($permok)
175 {
176  $out.='&originid='.$object->id.'&origin=order_supplier';
177 }
178 
179 
180 print '<div class="tabsAction">';
181 
182 if (! empty($conf->agenda->enabled))
183 {
184  if (! empty($user->rights->agenda->myactions->create) || ! empty($user->rights->agenda->allactions->create))
185  {
186  print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/card.php?action=create'.$out.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?id='.$object->id).'">'.$langs->trans("AddAction").'</a>';
187  }
188  else
189  {
190  print '<a class="butActionRefused" href="#">'.$langs->trans("AddAction").'</a>';
191  }
192 }
193 
194 print '</div>';
195 
196 
197 if (!empty($object->id))
198 {
199  $param='&id='.$object->id;
200  if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage;
201  if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
202 
203  print load_fiche_titre($langs->trans("ActionsOnOrder"),'','');
204 
205  // List of actions on element
206  /*include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php';
207  $formactions=new FormActions($db);
208  $somethingshown = $formactions->showactions($object,'project',0);*/
209 
210  // List of todo actions
211  //show_actions_todo($conf,$langs,$db,$object,null,0,$actioncode);
212 
213  // List of done actions
214  //show_actions_done($conf,$langs,$db,$object,null,0,$actioncode);
215 
216  // List of all actions
217  $filters=array();
218  $filters['search_agenda_label']=$search_agenda_label;
219  show_actions_done($conf,$langs,$db,$object,null,0,$actioncode, '', $filters);
220 }
221 
222 // End of page
223 llxFooter();
224 $db->close();
llxFooter()
Empty footer.
Definition: wrapper.php:56
load_fiche_titre($titre, $morehtmlright='', $picto='title_generic.png', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
GETPOST($paramname, $check='none', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
print
Draft customers invoices.
Definition: index.php:91
setEventMessages($mesg, $mesgs, $style='mesgs')
Set event messages in dol_events session object.
ordersupplier_prepare_head($object)
Prepare array with list of tabs.
Definition: fourn.lib.php:102
dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $onlybanner=0, $morehtmlright='')
Show tab footer of a card.
dol_print_object_info($object, $usetable=0)
Show informations on an object TODO Move this into html.formother.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0)
Show a message to say access is forbidden and stop program Calling this function terminate execution ...
Class to manage generation of HTML components Only common components must be here.
Class to manage projects.
dol_fiche_end($notab=0)
Show tab footer of a card.
llxHeader()
Empty header.
Definition: wrapper.php:44
dol_now($mode='gmt')
Return date for now.
Class to manage predefined suppliers products.
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.
show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=0, $actioncode='', $donetodo='done', $filters=array(), $sortfield='a.datep, a.id', $sortorder='DESC')
Show html area with actions (done or not, ignore the name of function)
dol_fiche_head($links=array(), $active='0', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='')
Show tab header of a card.