Skip to content
Snippets Groups Projects
Commit 419eb248 authored by Regis Houssin's avatar Regis Houssin
Browse files

Fix: add generic edit in place select input

parent eeedf860
Branches
No related tags found
No related merge requests found
...@@ -345,7 +345,7 @@ else if ($id) ...@@ -345,7 +345,7 @@ else if ($id)
// Type // Type
print '<tr><td>'.$langs->trans("Type").'</td><td>'; print '<tr><td>'.$langs->trans("Type").'</td><td>';
print $form->editInPlace($langs->trans($object->type), 'type', $user->rights->deplacement->creer, 'select'); print $form->editInPlace($langs->trans($object->type), 'type', $user->rights->deplacement->creer, 'select', 'types_fees');
//print $langs->trans($object->type); //print $langs->trans($object->type);
print '</td></tr>'; print '</td></tr>';
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Disables token renewal if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Disables token renewal
if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1');
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); //if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1');
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); //if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1');
...@@ -56,7 +56,12 @@ if((isset($_GET['field']) && ! empty($_GET['field'])) ...@@ -56,7 +56,12 @@ if((isset($_GET['field']) && ! empty($_GET['field']))
{ {
if ($type == 'select') if ($type == 'select')
{ {
echo json_encode(array("Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena", "Adrian", "Akron")); $methodname = 'load_cache_'.GETPOST('method');
$cachename = 'cache_'.GETPOST('method');
$form = new Form($db);
$ret = $form->$methodname();
if ($ret > 0) echo json_encode($form->$cachename);
} }
else else
{ {
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Disables token renewal if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Disables token renewal
if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1');
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); //if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1');
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); //if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1');
...@@ -51,7 +51,6 @@ if((isset($_POST['field']) && ! empty($_POST['field'])) ...@@ -51,7 +51,6 @@ if((isset($_POST['field']) && ! empty($_POST['field']))
$fk_element = GETPOST('fk_element'); $fk_element = GETPOST('fk_element');
$value = GETPOST('value'); $value = GETPOST('value');
$type = GETPOST('type'); $type = GETPOST('type');
$timestamp = GETPOST('timestamp');
$format='text'; $format='text';
$return=array(); $return=array();
...@@ -65,6 +64,7 @@ if((isset($_POST['field']) && ! empty($_POST['field'])) ...@@ -65,6 +64,7 @@ if((isset($_POST['field']) && ! empty($_POST['field']))
// Clean parameters // Clean parameters
$newvalue = trim($value); $newvalue = trim($value);
if ($type == 'numeric') if ($type == 'numeric')
{ {
$newvalue = price2num($newvalue); $newvalue = price2num($newvalue);
...@@ -78,9 +78,23 @@ if((isset($_POST['field']) && ! empty($_POST['field'])) ...@@ -78,9 +78,23 @@ if((isset($_POST['field']) && ! empty($_POST['field']))
} }
else if ($type == 'datepicker') else if ($type == 'datepicker')
{ {
$timestamp = GETPOST('timestamp');
$format = 'date'; $format = 'date';
$newvalue = ($timestamp / 1000); $newvalue = ($timestamp / 1000);
} }
else if ($type == 'select')
{
$methodname = 'load_cache_'.GETPOST('method');
$cachename = 'cache_'.GETPOST('method');
$form = new Form($db);
$ret = $form->$methodname();
if ($ret > 0)
{
$cache = $form->$cachename;
$value = $cache[$newvalue];
}
}
if (! $error) if (! $error)
{ {
......
...@@ -150,9 +150,10 @@ class Form ...@@ -150,9 +150,10 @@ class Form
* @param string $htmlname DIV ID (field name) * @param string $htmlname DIV ID (field name)
* @param int $condition Condition to edit * @param int $condition Condition to edit
* @param string $area Type of edit * @param string $area Type of edit
* @param string $loadmethod Name of load method
* @return string HTML edit in place * @return string HTML edit in place
*/ */
function editInPlace($value, $htmlname, $condition, $type='textarea') function editInPlace($value, $htmlname, $condition, $type='textarea', $loadmethod='')
{ {
global $conf; global $conf;
...@@ -167,6 +168,7 @@ class Form ...@@ -167,6 +168,7 @@ class Form
{ {
// Use for timestamp format // Use for timestamp format
if ($type == 'datepicker') $out.= '<input id="timeStamp" type="hidden"/>'; if ($type == 'datepicker') $out.= '<input id="timeStamp" type="hidden"/>';
else if ($type == 'select' && ! empty($loadmethod)) $out.= '<input id="loadmethod" value="'.$loadmethod.'" type="hidden"/>';
$out.= '<div class="edit_'.$type.'" id="'.$htmlname.'">'; $out.= '<div class="edit_'.$type.'" id="'.$htmlname.'">';
$out.= $value; $out.= $value;
......
...@@ -138,12 +138,14 @@ $(document).ready(function() { ...@@ -138,12 +138,14 @@ $(document).ready(function() {
loadurl : urlLoadInPlace, loadurl : urlLoadInPlace,
loaddata : { loaddata : {
type: 'select', type: 'select',
method: $('#loadmethod').val(),
element: element, element: element,
table_element: table_element, table_element: table_element,
fk_element: fk_element fk_element: fk_element
}, },
submitdata : { submitdata : {
type: 'select', type: 'select',
method: $('#loadmethod').val(),
element: element, element: element,
table_element: table_element, table_element: table_element,
fk_element: fk_element fk_element: fk_element
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment