19declare(strict_types=1);
89 return "il_dcl_tableview";
129 $this->tableview_order = $order;
175 public function sleep($field_name): ?string
177 if ($field_name ==
'roles') {
178 return json_encode($this->roles);
188 public function wakeUp($field_name, $field_value): ?array
190 if ($field_name ==
'roles') {
191 return json_decode($field_value);
197 public function delete():
void
216 return parent::findOrGetInstance($primary_key, $add_constructor_args);
228 "tableview_id" => $this->
id,
230 'il_dcl_tfield_set.table_id' => $this->
getTableId(),
232 )->innerjoin(
'il_dcl_tfield_set',
'field',
'field', [])
233 ->orderBy(
'il_dcl_tfield_set.field_order')
243 if (!$this->visible_fields_cache) {
246 "tableview_id" => $this->
id,
248 'il_dcl_tfield_set.table_id' => $this->
getTableId(),
255 )->orderBy(
'il_dcl_tfield_set.field_order')->get();
257 foreach ($visible as $field_rec) {
258 $fields[] = $field_rec->getFieldObject();
260 $this->visible_fields_cache = $fields;
274 'tableview_id' => $this->
getId(),
275 'il_dcl_tfield_set.table_id' => $this->
getTableId(),
277 )->innerjoin(
'il_dcl_tfield_set',
'field',
'field', [])->orderBy(
'il_dcl_tfield_set.field_order')->get();
280 foreach ($settings as $setting) {
281 $datatype = $setting->getFieldObject()->getDatatypeId();
283 $result[] = $setting;
297 'tableview_id' => $this->
getId(),
302 public function create(
bool $create_default_settings =
true): void
305 if ($create_default_settings) {
317 foreach ($table->getFieldIds() as $field_id) {
323 if (!$table->getPublicCommentsEnabled()) {
336 'tableview_id' => $this->
id,
337 'field' => $field_id,
342 $field_set->setTableviewId($this->
id);
343 $field_set->setField($field_id);
345 $field_set->setFilterChangeable(
true);
346 $field_set->setLockedCreate(
false);
347 $field_set->setLockedEdit(
false);
348 $field_set->setRequiredCreate(
false);
349 $field_set->setRequiredEdit(
false);
350 $field_set->setVisibleCreate(
true);
351 $field_set->setVisibleEdit(
true);
352 $field_set->create();
377 $new_fieldsetting->setTableviewId($this->
getId());
378 if ($new_fields[$orig_fieldsetting->getField()] ??
null) {
380 $new_fieldsetting->setField($new_fields[$orig_fieldsetting->getField()]->getId());
383 $new_fieldsetting->setField($orig_fieldsetting->getField());
385 $new_field_id = $new_fieldsetting->cloneStructure($orig_fieldsetting);
388 $datatype = $orig_fieldsetting->getFieldObject()->getDatatypeId();
389 $match = ilDclTableViewBaseDefaultValue::findSingle($datatype, $orig_fieldsetting->getId());
391 if (!is_null($match)) {
392 $new_default_value =
$f->create($datatype);
393 $new_default_value->setTviewSetId($new_field_id);
394 $new_default_value->setValue($match->getValue());
395 $new_default_value->create();
403 $orig_pageobject->copy($this->
getId());
430 return $standardview;
434 $rbacreview =
$DIC[
'rbacreview'];
441 foreach ($rbacreview->getParentRoleIds(
$ref_id) as $role_array) {
442 $roles[] = $role_array[
'obj_id'];
447 $hasRefId =
$http->wrapper()->query()->has(
'ref_id');
451 $rbacreview =
$DIC[
'rbacreview'];
456 foreach ($rbacreview->getParentRoleIds(
$ref_id) as $role_array) {
457 $roles[] = $role_array[
'obj_id'];
459 $view->setRoles(array_merge(
$roles, $rbacreview->getLocalRoles(
$ref_id)));
464 $view->setTitle(
$lng->txt(
'dcl_title_standardview'));
465 $view->setTableviewOrder(10);
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static where($where, $operator=null)
static orderBy(string $orderBy, string $orderDirection='ASC')
static getTableCache(?int $table_id=null)
static setCloneOf(int $old, int $new, string $type)
static getAllDatatype(bool $force=false)
Get all possible Datatypes.
static _isStandardField($field_id)
createDefaultSettings()
create default ilDclTableViewFieldSetting entries
wakeUp($field_name, $field_value)
getVisibleFields()
Returns all field-objects of this tableview which have set their visibility to true,...
setRoleLimitation(bool $role_limitation)
setTableId(int $table_id)
static createOrGetStandardView(int $table_id)
static getAllForTableId(int $table_id)
cloneStructure(ilDclTableView $orig, array $new_fields)
getFieldSetting($field_id)
setDescription(string $description)
static findOrGetInstance($primary_key, array $add_constructor_args=[])
array $visible_fields_cache
setTableviewOrder(int $tableview_order)
create(bool $create_default_settings=true)
getFilterableFieldSettings()
getFilterableFields Returns all fieldsetting-objects of this tableview which have set their filterabl...
createFieldSetting($field_id)
create ilDclTableViewFieldSetting for this tableview and the given field id
static getCountForTableId(int $table_id)
static returnDbTableName()