25 require
'../../main.inc.php';
26 require_once DOL_DOCUMENT_ROOT .
'/core/lib/asset.lib.php';
27 require_once DOL_DOCUMENT_ROOT .
'/asset/class/assetmodel.class.php';
28 require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formcompany.class.php';
29 require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formfile.class.php';
32 $langs->loadLangs(array(
"assets",
"other"));
37 $action =
GETPOST(
'action',
'aZ09');
38 $confirm =
GETPOST(
'confirm',
'alpha');
39 $cancel =
GETPOST(
'cancel',
'aZ09');
40 $contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'assetmodelcard';
41 $backtopage =
GETPOST(
'backtopage',
'alpha');
42 $backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
47 $diroutputmassaction = $conf->asset->dir_output .
'/temp/massgeneration/' . $user->id;
48 $hookmanager->initHooks(array(
'assetmodelcard',
'globalcard'));
51 $extrafields->fetch_name_optionals_label($object->table_element);
53 $search_array_options = $extrafields->getOptionalsFromPost($object->table_element,
'',
'search_');
56 $search_all =
GETPOST(
"search_all",
'alpha');
58 foreach ($object->fields as $key => $val) {
59 if (
GETPOST(
'search_' . $key,
'alpha')) {
60 $search[$key] =
GETPOST(
'search_' . $key,
'alpha');
64 if (empty($action) && empty($id) && empty($ref)) {
69 include DOL_DOCUMENT_ROOT .
'/core/actions_fetchobject.inc.php';
71 $permissiontoread = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->asset->read) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->asset->model_advance->read)));
72 $permissiontoadd = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->asset->write) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->asset->model_advance->write)));
73 $permissiontodelete = ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->asset->delete) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->asset->model_advance->delete))) || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT);
74 $permissionnote = $permissiontoadd;
75 $permissiondellink = $permissiontoadd;
76 $upload_dir = $conf->asset->multidir_output[isset($object->entity) ? $object->entity : 1];
80 if ($user->socid > 0) $socid = $user->socid;
81 $isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0);
82 restrictedArea($user,
'asset', $object->id, $object->table_element,
'',
'fk_soc',
'rowid', $isdraft);
92 $reshook = $hookmanager->executeHooks(
'doActions',
$parameters, $object, $action);
97 if (empty($reshook)) {
100 $backurlforlist = DOL_URL_ROOT .
'/asset/model/list.php';
102 if (empty($backtopage) || ($cancel && empty($id))) {
103 if (empty($backtopage) || ($cancel && strpos($backtopage,
'__ID__'))) {
104 if (empty($id) && (($action !=
'add' && $action !=
'create') || $cancel)) {
105 $backtopage = $backurlforlist;
107 $backtopage = DOL_URL_ROOT .
'/asset/model/card.php?id=' . ((!empty($id) && $id > 0) ? $id :
'__ID__');
112 $triggermodname =
'ASSETMODEL_MODIFY';
114 if (($action ==
'edit' && !($permissiontoadd && $object->status == $object::STATUS_DRAFT)) ||
115 ($action ==
'confirm_setdraft' && !($permissiontoadd && $object->status != $object::STATUS_DRAFT)) ||
116 ($action ==
'confirm_validate' && !($permissiontoadd && $object->status != $object::STATUS_VALIDATED)) ||
117 ($action ==
'confirm_close' && !($permissiontoadd && $object->status != $object::STATUS_CANCELED))
123 include DOL_DOCUMENT_ROOT .
'/core/actions_addupdatedelete.inc.php';
136 $title = $langs->trans(
"AssetModel") .
' - ' . $langs->trans(
"Card");
141 if ($action ==
'create') {
142 print
load_fiche_titre($langs->trans(
"NewObject", $langs->transnoentitiesnoconv(
"AssetModel")),
'',
'object_' . $object->picto);
144 print
'<form method="POST" action="' . $_SERVER[
"PHP_SELF"] .
'">';
145 print
'<input type="hidden" name="token" value="' .
newToken() .
'">';
146 print
'<input type="hidden" name="action" value="add">';
148 print
'<input type="hidden" name="backtopage" value="' . $backtopage .
'">';
150 if ($backtopageforcancel) {
151 print
'<input type="hidden" name="backtopageforcancel" value="' . $backtopageforcancel .
'">';
159 print
'<table class="border centpercent tableforfieldcreate">' .
"\n";
162 include DOL_DOCUMENT_ROOT .
'/core/tpl/commonfields_add.tpl.php';
165 include DOL_DOCUMENT_ROOT .
'/core/tpl/extrafields_add.tpl.php';
167 print
'</table>' .
"\n";
171 print
$form->buttonsSaveCancel(
"Create");
179 if (($id || $ref) && $action ==
'edit') {
180 print
load_fiche_titre($langs->trans(
"AssetModel"),
'',
'object_' . $object->picto);
182 print
'<form method="POST" action="' . $_SERVER[
"PHP_SELF"] .
'">';
183 print
'<input type="hidden" name="token" value="' .
newToken() .
'">';
184 print
'<input type="hidden" name="action" value="update">';
185 print
'<input type="hidden" name="id" value="' . $object->id .
'">';
187 print
'<input type="hidden" name="backtopage" value="' . $backtopage .
'">';
189 if ($backtopageforcancel) {
190 print
'<input type="hidden" name="backtopageforcancel" value="' . $backtopageforcancel .
'">';
195 print
'<table class="border centpercent tableforfieldedit">' .
"\n";
198 include DOL_DOCUMENT_ROOT .
'/core/tpl/commonfields_edit.tpl.php';
201 include DOL_DOCUMENT_ROOT .
'/core/tpl/extrafields_edit.tpl.php';
207 print
$form->buttonsSaveCancel();
213 if ($object->id > 0 && (empty($action) || ($action !=
'edit' && $action !=
'create'))) {
214 $res = $object->fetch_optionals();
217 print
dol_get_fiche_head($head,
'card', $langs->trans(
"AssetModel"), -1, $object->picto);
222 if ($action ==
'delete') {
223 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"] .
'?id=' . $object->id, $langs->trans(
'DeleteAssetModel'), $langs->trans(
'ConfirmDeleteObject'),
'confirm_delete',
'', 0, 1);
224 } elseif ($action ==
'clone') {
227 $formquestion = array();
228 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"] .
'?id=' . $object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneAsk', $object->ref),
'confirm_clone', $formquestion,
'yes', 1);
233 $reshook = $hookmanager->executeHooks(
'formConfirm',
$parameters, $object, $action);
234 if (empty($reshook)) {
236 } elseif ($reshook > 0) {
246 $linkback =
'<a href="' . DOL_URL_ROOT .
'/asset/model/list.php?restore_lastsearch_values=1' . (!empty($socid) ?
'&socid=' . $socid :
'') .
'">' . $langs->trans(
"BackToList") .
'</a>';
248 $morehtmlref =
'<div class="refidno">';
249 $morehtmlref .=
'</div>';
252 dol_banner_tab($object,
'ref', $linkback, 1,
'ref',
'ref', $morehtmlref);
255 print
'<div class="fichecenter">';
256 print
'<div class="fichehalfleft">';
257 print
'<div class="underbanner clearboth"></div>';
258 print
'<table class="border centpercent tableforfield">' .
"\n";
261 include DOL_DOCUMENT_ROOT .
'/core/tpl/commonfields_view.tpl.php';
264 include DOL_DOCUMENT_ROOT .
'/core/tpl/extrafields_view.tpl.php';
270 print
'<div class="clearboth"></div>';
276 if ($action !=
'editline') {
277 print
'<div class="tabsAction">' .
"\n";
279 $reshook = $hookmanager->executeHooks(
'addMoreActionsButtons',
$parameters, $object, $action);
284 if (empty($reshook)) {
285 if ($object->status == $object::STATUS_DRAFT) {
286 print
dolGetButtonAction($langs->trans(
'Modify'),
'',
'default', $_SERVER[
"PHP_SELF"] .
'?id=' . $object->id .
'&action=edit&token=' .
newToken(),
'', $permissiontoadd);
290 if ($object->status != $object::STATUS_DRAFT) {
291 print
dolGetButtonAction($langs->trans(
'SetToDraft'),
'',
'default', $_SERVER[
"PHP_SELF"] .
'?id=' . $object->id .
'&action=confirm_setdraft&confirm=yes&token=' .
newToken(),
'', $permissiontoadd);
294 if ($object->status != $object::STATUS_VALIDATED) {
295 print
dolGetButtonAction($langs->trans(
'Enable'),
'',
'default', $_SERVER[
'PHP_SELF'] .
'?id=' . $object->id .
'&action=confirm_validate&confirm=yes&token=' .
newToken(),
'', $permissiontoadd);
298 if ($object->status != $object::STATUS_CANCELED) {
299 print
dolGetButtonAction($langs->trans(
'Disable'),
'',
'default', $_SERVER[
'PHP_SELF'].
'?id='.$object->id.
'&action=confirm_close&confirm=yes&token='.
newToken(),
'', $permissiontoadd);
303 print
dolGetButtonAction($langs->trans(
'ToClone'),
'',
'default', $_SERVER[
'PHP_SELF'] .
'?id=' . $object->id . (!empty($socid) ?
'&socid=' . $socid :
'') .
'&action=clone&token=' .
newToken(),
'', $permissiontoadd);
306 print
dolGetButtonAction($langs->trans(
'Delete'),
'',
'delete', $_SERVER[
'PHP_SELF'] .
'?id=' . $object->id .
'&action=delete&token=' .
newToken(),
'', $permissiontodelete || ($object->status == $object::STATUS_DRAFT && $permissiontoadd));
308 print
'</div>' .
"\n";
311 print
'<div class="fichecenter"><div class="fichehalfleft">';
312 print
'<a name="builddoc"></a>';
314 print
'</div><div class="fichehalfright">';
325 print
'</div></div>';