* Copyright (C) 2014 Juanjo Menent * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Need to have following variables defined: * $object (invoice, order, ...) * $conf * $langs * * $cols */ //$res = $object->fetch_optionals($object->id, $extralabels); $parameters = array('colspan' => ' colspan="'.$cols.'"', 'cols' => $cols, 'socid' => $object->fk_soc); $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); if (empty($reshook) && ! empty($extrafields->attribute_label)) { foreach ($extrafields->attribute_label as $key => $label) { if ($action == 'edit_extras') { $value = (isset($_POST["options_" . $key]) ? $_POST["options_" . $key] : $object->array_options["options_" . $key]); } else { $value = $object->array_options["options_" . $key]; } if ($extrafields->attribute_type[$key] == 'separate') { print $extrafields->showSeparator($key); } else { print ''; print 'attribute_required[$key])) print ' class="fieldrequired"'; print '>' . $label . ''; //TODO Improve element and rights detection //var_dump($user->rights); $permok=false; $keyforperm=$object->element; if ($object->element == 'fichinter') $keyforperm='ficheinter'; if (isset($user->rights->$keyforperm)) $permok=$user->rights->$keyforperm->creer||$user->rights->$keyforperm->create||$user->rights->$keyforperm->write; if ($object->element=='order_supplier') $permok=$user->rights->fournisseur->commande->creer; if ($object->element=='invoice_supplier') $permok=$user->rights->fournisseur->facture->creer; if (($object->statut == 0 || $extrafields->attribute_alwayseditable[$key]) && $permok && ($action != 'edit_extras' || GETPOST('attribute') != $key)) print ''; print '
' . img_edit().'
'; print ''; // Convert date into timestamp format if (in_array($extrafields->attribute_type[$key], array('date','datetime'))) { $value = isset($_POST["options_" . $key]) ? dol_mktime($_POST["options_" . $key . "hour"], $_POST["options_" . $key . "min"], 0, $_POST["options_" . $key . "month"], $_POST["options_" . $key . "day"], $_POST["options_" . $key . "year"]) : $db->jdate($object->array_options['options_' . $key]); } //TODO Improve element and rights detection if ($action == 'edit_extras' && $permok && GETPOST('attribute') == $key) { print '
'; print ''; print ''; print ''; print ''; print $extrafields->showInputField($key, $value); print ''; print '
'; } else { print $extrafields->showOutputField($key, $value); } print '' . "\n"; } } }