* Copyright (C) 2018 Frédéric France * * 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 . */ require '../main.inc.php'; require 'class/ProductAttribute.class.php'; require 'class/ProductAttributeValue.class.php'; $id = GETPOST('id', 'int'); $valueid = GETPOST('valueid', 'alpha'); $action = GETPOST('action', 'alpha'); $label = GETPOST('label', 'alpha'); $ref = GETPOST('ref', 'alpha'); $confirm = GETPOST('confirm', 'alpha'); $cancel = GETPOST('cancel', 'alpha'); $object = new ProductAttribute($db); $objectval = new ProductAttributeValue($db); if ($object->fetch($id) < 1) { dol_print_error($db, $langs->trans('ErrorRecordNotFound')); exit(); } /* * Actions */ if ($cancel) $action=''; if ($_POST) { if ($action == 'edit') { $object->ref = $ref; $object->label = $label; if ($object->update($user) < 1) { setEventMessages($langs->trans('CoreErrorMessage'), $object->errors, 'errors'); } else { setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); header('Location: '.dol_buildpath('/variants/card.php?id='.$id, 2)); exit(); } } elseif ($action == 'update') { if ($objectval->fetch($valueid) > 0) { $objectval->ref = $ref; $objectval->value = GETPOST('value', 'alpha'); if (empty($objectval->ref)) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Ref")), null, 'errors'); } if (empty($objectval->value)) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Label")), null, 'errors'); } if (! $error) { if ($objectval->update($user) > 0) { setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); } else { setEventMessage($langs->trans('CoreErrorMessage'), $objectval->errors, 'errors'); } } } header('Location: '.dol_buildpath('/variants/card.php?id='.$object->id, 2)); exit(); } } if ($confirm == 'yes') { if ($action == 'confirm_delete') { $db->begin(); $res = $objectval->deleteByFkAttribute($object->id); if ($res < 1 || ($object->delete() < 1)) { $db->rollback(); setEventMessages($langs->trans('CoreErrorMessage'), $object->errors, 'errors'); header('Location: '.dol_buildpath('/variants/card.php?id='.$object->id, 2)); } else { $db->commit(); setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); header('Location: '.dol_buildpath('/variants/list.php', 2)); } exit(); } elseif ($action == 'confirm_deletevalue') { if ($objectval->fetch($valueid) > 0) { if ($objectval->delete() < 1) { setEventMessages($langs->trans('CoreErrorMessage'), $objectval->errors, 'errors'); } else { setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); } header('Location: '.dol_buildpath('/variants/card.php?id='.$object->id, 2)); exit(); } } } /* * View */ $langs->load('products'); $title = $langs->trans('ProductAttributeName', dol_htmlentities($object->label)); llxHeader('', $title); //print load_fiche_titre($title); $h=0; $head[$h][0] = DOL_URL_ROOT.'/variants/card.php?id='.$object->id; $head[$h][1] = $langs->trans("Card"); $head[$h][2] = 'variant'; $h++; dol_fiche_head($head, 'variant', $langs->trans('ProductAttributeName'), -1, 'generic'); if ($action == 'edit') { print '
'; } if ($action != 'edit') { print '
'; print '
'; } ?>
trans('Ref') ?> ref.'">'; } else { print dol_htmlentities($object->ref); } ?>
trans('Label') ?> label.'">'; } else { print dol_htmlentities($object->label); } ?>
'; } dol_fiche_end(); if ($action == 'edit') { ?>
   
formconfirm( "card.php?id=".$object->id, $langs->trans('Delete'), $langs->trans('ProductAttributeDeleteDialog'), "confirm_delete", '', 0, 1 ); } elseif ($action == 'delete_value') { if ($objectval->fetch($valueid) > 0) { $form = new Form($db); print $form->formconfirm( "card.php?id=".$object->id."&valueid=".$objectval->id, $langs->trans('Delete'), $langs->trans('ProductAttributeValueDeleteDialog', dol_htmlentities($objectval->value), dol_htmlentities($objectval->ref)), "confirm_deletevalue", '', 0, 1 ); } } ?> trans("PossibleValues")); if ($action == 'edit_value') { print '
'; print ''; print ''; print ''; print ''; print ''; } ?> fetchAllByProductAttribute($object->id) as $attrval) { ?> id)): ?>
trans('Ref') ?> trans('Value') ?>
    ref) ?> value) ?>
close();