Version 0.9.13
This commit is contained in:
@ -41,6 +41,37 @@ class PackageModel extends AdminModel
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
protected function prepareTable($table)
|
||||
{
|
||||
$date = Factory::getDate();
|
||||
$user = $this->getCurrentUser();
|
||||
|
||||
if (empty($table->id)) {
|
||||
// Set the values
|
||||
$table->created = $date->toSql();
|
||||
$table->created_by = $user->id;
|
||||
|
||||
// Set ordering to the last item if not set
|
||||
if (empty($table->ordering)) {
|
||||
|
||||
$db = $this->getDatabase();
|
||||
$query = $db->createQuery()
|
||||
->select('MAX(' . $db->quoteName('ordering') . ')')
|
||||
->from($db->quoteName('#__depot_package'));
|
||||
|
||||
$db->setQuery($query);
|
||||
$max = $db->loadResult();
|
||||
|
||||
$table->ordering = ++$max;
|
||||
}
|
||||
} else {
|
||||
// Set the values
|
||||
$table->modified = $date->toSql();
|
||||
$table->modified_by = $user->id;
|
||||
}
|
||||
}
|
||||
|
||||
public function save($data)
|
||||
{
|
||||
/* Add code to modify data before saving */
|
||||
|
@ -10,7 +10,6 @@
|
||||
|
||||
namespace KW4NZ\Component\Depot\Administrator\Model;
|
||||
|
||||
use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\Table\Table;
|
||||
use Joomla\Database\ParameterType;
|
||||
@ -124,8 +123,9 @@ class PackagesModel extends ListModel
|
||||
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a reference to the a Table object, always creating it.
|
||||
* Returns a reference to the Table object, always creating it.
|
||||
*
|
||||
* @param string $type The table type to instantiate
|
||||
* @param string $prefix A prefix for the table class name. Optional.
|
||||
@ -139,5 +139,4 @@ class PackagesModel extends ListModel
|
||||
{
|
||||
return parent::getTable($type, $prefix, $config);
|
||||
}
|
||||
|
||||
}
|
@ -11,10 +11,11 @@
|
||||
namespace KW4NZ\Component\Depot\Administrator\Model;
|
||||
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
// use Joomla\CMS\Table\Table;
|
||||
use Joomla\Database\ParameterType;
|
||||
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
\defined('_JEXEC') or die;
|
||||
// phpcs:enable PSR1.Files.SideEffects
|
||||
|
||||
class PartsModel extends ListModel
|
||||
{
|
||||
@ -31,6 +32,10 @@ class PartsModel extends ListModel
|
||||
'd.alias',
|
||||
'quantity',
|
||||
'd.quantity',
|
||||
'ordering',
|
||||
'd.ordering',
|
||||
'description',
|
||||
'd.description',
|
||||
'published',
|
||||
'd.published',
|
||||
'package',
|
||||
@ -75,6 +80,8 @@ class PartsModel extends ListModel
|
||||
$db->quoteName('d.quantity_exp'),
|
||||
$db->quoteName('d.ordering'),
|
||||
$db->quoteName('d.package_id'),
|
||||
$db->quoteName('d.checked_out'),
|
||||
$db->quoteName('d.checked_out_time'),
|
||||
]
|
||||
)
|
||||
)
|
||||
@ -103,6 +110,7 @@ class PartsModel extends ListModel
|
||||
$like = $db->quote('%' . $search . '%');
|
||||
$query->where($db->quoteName('d.component_name') . ' LIKE ' . $like);
|
||||
}
|
||||
|
||||
// Filter by published state
|
||||
$published = (string) $this->getState('filter.published');
|
||||
if (is_numeric($published)) {
|
||||
@ -114,9 +122,10 @@ class PartsModel extends ListModel
|
||||
}
|
||||
|
||||
// add list ordering clause
|
||||
$orderCol = $this->state->get('list.ordering', 'id');
|
||||
$orderDirn = $this->state->get('list.direction', 'desc');
|
||||
$query->order($db->escape($orderCol) . ' ' . $db->escape($orderDirn));
|
||||
$query->order(
|
||||
$db->quoteName($db->escape($this->getState('list.ordering', 'd.ordering'))) . ' ' .
|
||||
$db->escape($this->getState('list.direction', 'ASC'))
|
||||
);
|
||||
|
||||
return $query;
|
||||
}
|
||||
|
@ -11,10 +11,12 @@
|
||||
namespace KW4NZ\Component\Depot\Administrator\Model;
|
||||
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
// use Joomla\CMS\Table\Table;
|
||||
use Joomla\CMS\Table\Table;
|
||||
use Joomla\Database\ParameterType;
|
||||
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
\defined('_JEXEC') or die;
|
||||
// phpcs:enable PSR1.Files.SideEffects
|
||||
|
||||
class StocksModel extends ListModel
|
||||
{
|
||||
@ -23,18 +25,25 @@ class StocksModel extends ListModel
|
||||
$config['filter_fields'] = [
|
||||
'id',
|
||||
's.id',
|
||||
's.name',
|
||||
'name',
|
||||
's.name',
|
||||
'alias',
|
||||
's.alias',
|
||||
's.description',
|
||||
'description',
|
||||
'state',
|
||||
's.state',
|
||||
'published',
|
||||
'd.published',
|
||||
's.published',
|
||||
'description',
|
||||
's.description',
|
||||
'ordering',
|
||||
's.ordering',
|
||||
'checked_out',
|
||||
's.checked_out',
|
||||
'owner',
|
||||
];
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Build an SQL query to load the list data.
|
||||
*
|
||||
@ -66,6 +75,10 @@ class StocksModel extends ListModel
|
||||
$db->quoteName('s.name'),
|
||||
$db->quoteName('s.alias'),
|
||||
$db->quoteName('s.description'),
|
||||
$db->quoteName('s.state'),
|
||||
$db->quoteName('s.ordering'),
|
||||
$db->quoteName('s.checked_out'),
|
||||
$db->quoteName('s.checked_out_time'),
|
||||
]
|
||||
)
|
||||
)
|
||||
@ -99,9 +112,27 @@ class StocksModel extends ListModel
|
||||
|
||||
// Add the list ordering clause.
|
||||
$query->order(
|
||||
$db->quoteName($db->escape($this->getState('list.ordering', 'id'))) . ' ' . $db->escape($this->getState('list.direction', 'ASC'))
|
||||
$db->quoteName($db->escape($this->getState('list.ordering', 's.ordering'))) . ' ' .
|
||||
$db->escape($this->getState('list.direction', 'ASC'))
|
||||
);
|
||||
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a reference to the Table object, always creating it.
|
||||
*
|
||||
* @param string $type The table type to instantiate
|
||||
* @param string $prefix A prefix for the table class name. Optional.
|
||||
* @param array $config Configuration array for model. Optional.
|
||||
*
|
||||
* @return Table A Table object
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
public function getTable($type = 'Stock', $prefix = 'Administrator', $config = [])
|
||||
{
|
||||
return parent::getTable($type, $prefix, $config);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user