dolibarr 21.0.0-alpha
mo_note.php
Go to the documentation of this file.
1<?php
2/* Copyright (C) 2007-2017 Laurent Destailleur <eldy@users.sourceforge.net>
3 * Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
4 * Copyright (C) 2024 Alexandre Spangaro <alexandre@inovea-conseil.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
26// Load Dolibarr environment
27require '../main.inc.php';
28require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
29require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
30
31require_once DOL_DOCUMENT_ROOT.'/mrp/class/mo.class.php';
32require_once DOL_DOCUMENT_ROOT.'/mrp/lib/mrp_mo.lib.php';
33
34// Load translation files required by the page
35$langs->loadLangs(array("mrp", "companies"));
36
37// Get parameters
38$id = GETPOSTINT('id');
39$ref = GETPOST('ref', 'alpha');
40$action = GETPOST('action', 'aZ09');
41$cancel = GETPOST('cancel', 'aZ09');
42$backtopage = GETPOST('backtopage', 'alpha');
43
44// Initialize a technical objects
45$object = new Mo($db);
46$extrafields = new ExtraFields($db);
47$diroutputmassaction = $conf->mrp->dir_output.'/temp/massgeneration/'.$user->id;
48$hookmanager->initHooks(array('monote', 'globalcard')); // Note that conf->hooks_modules contains array
49
50// Fetch optionals attributes and labels
51$extrafields->fetch_name_optionals_label($object->table_element);
52
53// Load object
54include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be 'include', not 'include_once'. Include fetch and fetch_thirdparty but not fetch_optionals
55if ($id > 0 || !empty($ref)) {
56 $upload_dir = $conf->mrp->multidir_output[empty($object->entity) ? $conf->entity : $object->entity]."/".$object->id;
57}
58
59// Security check - Protection if external user
60//if ($user->socid > 0) accessforbidden();
61//if ($user->socid > 0) $socid = $user->socid;
62$isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0);
63$result = restrictedArea($user, 'mrp', $object->id, 'mrp_mo', '', 'fk_soc', 'rowid', $isdraft);
64
65$permissionnote = $user->hasRight('mrp', 'write'); // Used by the include of actions_setnotes.inc.php
66
67
68
69/*
70 * Actions
71 */
72
73
74$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks
75if ($reshook < 0) {
76 setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
77}
78if (empty($reshook)) {
79 include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be 'include', not 'include_once'
80}
81
82
83/*
84 * View
85 */
86
87$form = new Form($db);
88$formproject = new FormProjets($db);
89
90$title = $langs->trans('Mo');
91$help_url = 'EN:Module_Manufacturing_Orders|FR:Module_Ordres_de_Fabrication|DE:Modul_Fertigungsauftrag';
92
93llxHeader('', $title, $help_url, '', 0, 0, '', '', '', 'mod-mrp page-card_note');
94
95if ($id > 0 || !empty($ref)) {
96 $object->fetch_thirdparty();
97
98 $head = moPrepareHead($object);
99
100 print dol_get_fiche_head($head, 'note', $langs->trans("ManufacturingOrder"), -1, $object->picto);
101
102 // Object card
103 // ------------------------------------------------------------
104 $linkback = '<a href="'.dol_buildpath('/mrp/mo_list.php', 1).'?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';
105
106 $morehtmlref = '<div class="refidno">';
107 // Ref customer
108 //$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
109 //$morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
110 // Thirdparty
111 if (is_object($object->thirdparty)) {
112 $morehtmlref .= $object->thirdparty->getNomUrl(1, 'customer');
113 if (!getDolGlobalString('MAIN_DISABLE_OTHER_LINK') && $object->thirdparty->id > 0) {
114 $morehtmlref .= ' (<a href="'.DOL_URL_ROOT.'/commande/list.php?socid='.$object->thirdparty->id.'&search_societe='.urlencode($object->thirdparty->name).'">'.$langs->trans("OtherOrders").'</a>)';
115 }
116 }
117 // Project
118 if (isModEnabled('project')) {
119 $langs->load("projects");
120 if (is_object($object->thirdparty)) {
121 $morehtmlref .= '<br>';
122 }
123 if (0) {
124 $morehtmlref .= img_picto($langs->trans("Project"), 'project', 'class="pictofixedwidth"');
125 if ($action != 'classify') {
126 $morehtmlref .= '<a class="editfielda" href="'.$_SERVER['PHP_SELF'].'?action=classify&token='.newToken().'&id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetProject')).'</a> ';
127 }
128 $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300');
129 } else {
130 if (!empty($object->fk_project)) {
131 $proj = new Project($db);
132 $proj->fetch($object->fk_project);
133 $morehtmlref .= $proj->getNomUrl(1);
134 if ($proj->title) {
135 $morehtmlref .= '<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).'</span>';
136 }
137 }
138 }
139 }
140 $morehtmlref .= '</div>';
141
142 dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
143
144
145 print '<div class="fichecenter">';
146 print '<div class="underbanner clearboth"></div>';
147
148
149 $cssclass = "titlefield";
150 include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php';
151
152 print '</div>';
153
154 print dol_get_fiche_end();
155}
156
157// End of page
158llxFooter();
159$db->close();
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition card.php:58
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.
Definition wrapper.php:70
Class to manage standard extra fields.
Class to manage generation of HTML components Only common components must be here.
Class to manage building of HTML components.
Class for Mo.
Definition mo.class.php:36
Class to manage projects.
llxFooter()
Footer empty.
Definition document.php:107
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
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.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
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.
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.
moPrepareHead($object)
Prepare array of tabs for Mo.
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.