1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-04 13:47:31 +02:00

Admin-ui: Fix for batch in Grid mode

This commit is contained in:
Cameron
2017-04-05 13:12:29 -07:00
parent 674fde0525
commit cc1b154e7b

View File

@@ -3158,6 +3158,8 @@ class e_admin_controller_ui extends e_admin_controller
} }
} }
/** /**
* Handle posted batch options routine * Handle posted batch options routine
* @param string $batch_trigger * @param string $batch_trigger
@@ -3202,6 +3204,14 @@ class e_admin_controller_ui extends e_admin_controller
$this->setTriggersEnabled(false); //disable further triggering $this->setTriggersEnabled(false); //disable further triggering
$actionName = $this->getRequest()->getActionName();
if($actionName === 'Grid')
{
$actionName = 'List';
}
switch($trigger[0]) switch($trigger[0])
{ {
@@ -3211,7 +3221,7 @@ class e_admin_controller_ui extends e_admin_controller
//handleListBatch(); for custom handling of all field names //handleListBatch(); for custom handling of all field names
if(empty($selected)) return $this; if(empty($selected)) return $this;
$method = 'handle'.$this->getRequest()->getActionName().'SefgenBatch'; $method = 'handle'.$actionName.'SefgenBatch';
if(method_exists($this, $method)) // callback handling if(method_exists($this, $method)) // callback handling
{ {
$this->$method($selected, $field, $value); $this->$method($selected, $field, $value);
@@ -3221,7 +3231,7 @@ class e_admin_controller_ui extends e_admin_controller
case 'export': case 'export':
if(empty($selected)) return $this; if(empty($selected)) return $this;
$method = 'handle'.$this->getRequest()->getActionName().'ExportBatch'; $method = 'handle'.$actionName.'ExportBatch';
if(method_exists($this, $method)) // callback handling if(method_exists($this, $method)) // callback handling
{ {
$this->$method($selected); $this->$method($selected);
@@ -3233,7 +3243,7 @@ class e_admin_controller_ui extends e_admin_controller
//method handleListDeleteBatch(); for custom handling of 'delete' batch //method handleListDeleteBatch(); for custom handling of 'delete' batch
// if(empty($selected)) return $this; // if(empty($selected)) return $this;
// don't check selected data - subclass need to check additional post variables(confirm screen) // don't check selected data - subclass need to check additional post variables(confirm screen)
$method = 'handle'.$this->getRequest()->getActionName().'DeleteBatch'; $method = 'handle'.$actionName.'DeleteBatch';
if(method_exists($this, $method)) // callback handling if(method_exists($this, $method)) // callback handling
{ {
$this->$method($selected); $this->$method($selected);
@@ -3245,7 +3255,7 @@ class e_admin_controller_ui extends e_admin_controller
$field = $trigger[1]; $field = $trigger[1];
$value = $trigger[2] ? 1 : 0; $value = $trigger[2] ? 1 : 0;
//something like handleListBoolBatch(); for custom handling of 'bool' batch //something like handleListBoolBatch(); for custom handling of 'bool' batch
$method = 'handle'.$this->getRequest()->getActionName().'BoolBatch'; $method = 'handle'.$actionName.'BoolBatch';
if(method_exists($this, $method)) // callback handling if(method_exists($this, $method)) // callback handling
{ {
$this->$method($selected, $field, $value); $this->$method($selected, $field, $value);
@@ -3256,7 +3266,7 @@ class e_admin_controller_ui extends e_admin_controller
if(empty($selected)) return $this; if(empty($selected)) return $this;
$field = $trigger[1]; $field = $trigger[1];
//something like handleListBoolreverseBatch(); for custom handling of 'boolreverse' batch //something like handleListBoolreverseBatch(); for custom handling of 'boolreverse' batch
$method = 'handle'.$this->getRequest()->getActionName().'BoolreverseBatch'; $method = 'handle'.$actionName.'BoolreverseBatch';
if(method_exists($this, $method)) // callback handling if(method_exists($this, $method)) // callback handling
{ {
$this->$method($selected, $field); $this->$method($selected, $field);
@@ -3339,7 +3349,7 @@ class e_admin_controller_ui extends e_admin_controller
$value = $trigger[1]; $value = $trigger[1];
//something like handleListUrlTypeBatch(); for custom handling of 'url_type' field name //something like handleListUrlTypeBatch(); for custom handling of 'url_type' field name
$method = 'handle'.$this->getRequest()->getActionName().$this->getRequest()->camelize($field).'Batch'; $method = 'handle'.$actionName.$this->getRequest()->camelize($field).'Batch';
if(method_exists($this, $method)) // callback handling if(method_exists($this, $method)) // callback handling
{ {
$this->$method($selected, $value); $this->$method($selected, $value);
@@ -3348,12 +3358,14 @@ class e_admin_controller_ui extends e_admin_controller
//handleListBatch(); for custom handling of all field names //handleListBatch(); for custom handling of all field names
if(empty($selected)) return $this; if(empty($selected)) return $this;
$method = 'handle'.$this->getRequest()->getActionName().'Batch'; $method = 'handle'.$actionName.'Batch';
if(method_exists($this, $method)) if(method_exists($this, $method))
{ {
$this->$method($selected, $field, $value); $this->$method($selected, $field, $value);
} }
break; break;
} }
return $this; return $this;
@@ -4687,6 +4699,26 @@ class e_admin_ui extends e_admin_controller_ui
if($batch_trigger && !$this->hasTrigger(array('etrigger_delete_confirm'))) $this->_handleListBatch($batch_trigger); if($batch_trigger && !$this->hasTrigger(array('etrigger_delete_confirm'))) $this->_handleListBatch($batch_trigger);
} }
/**
* Catch batch submit
* @param string $batch_trigger
* @return none
*/
public function GridBatchTrigger($batch_trigger)
{
$this->setPosted('etrigger_batch', null);
if($this->getPosted('etrigger_cancel'))
{
$this->setPosted(array());
return; // always break on cancel!
}
$this->deleteConfirmScreen = true; // Confirm screen ALWAYS enabled when multi-deleting!
// proceed ONLY if there is no other trigger, except delete confirmation
if($batch_trigger && !$this->hasTrigger(array('etrigger_delete_confirm'))) $this->_handleListBatch($batch_trigger);
}
/** /**
* Batch delete trigger * Batch delete trigger
* @param array $selected * @param array $selected
@@ -4770,6 +4802,7 @@ class e_admin_ui extends e_admin_controller_ui
protected function handleListCopyBatch($selected) protected function handleListCopyBatch($selected)
{ {
// Batch Copy // Batch Copy
$res = $this->getTreeModel()->copy($selected); $res = $this->getTreeModel()->copy($selected);
// callback // callback
$this->afterCopy($res, $selected); $this->afterCopy($res, $selected);
@@ -4778,7 +4811,7 @@ class e_admin_ui extends e_admin_controller_ui
// send messages to session // send messages to session
e107::getMessage()->moveToSession(); e107::getMessage()->moveToSession();
// redirect // redirect
$this->redirect(); // $this->redirect();
} }