The name of the checkbox. This index must be set. * 'checked' => Boolean: True, if the checkbox shall be set (checked). * false if it shall be unset (unchecked). Defaults to false. * All other indexes will be added as HTML attributes. * $show_picture: Boolean: Whether to display the resource picture or not. * Defaults to false (do not show picture). * $show_full_name: Boolean: Whether to display the full name * (with resource type) or just the name field from the database. * Defaults to false (do not show full name). * $clipboard_range_type: String: The range type for the drag and drop * functionality of the clipboard system. * Defaults to 'Resource'. * $additional_properties: Array: Additional properties * that shall be displayed in extra columns. * $additional_columns: Array: Additional columns for the table. * This array contains HTML code for each column (without the td element). * $additional_actions: Array: Additional actions for the action menu. * This array contains associative arrays where each of those arrays * has the following structure and indexes: * * $position_index => [ * 0 => Link * 1 => Label * 2 => Icon * 3 => Link attributes * ] * * $position_index is a string consisting of four letters with the * first letter being either '0' or another letter. Depending on the * value of $position_index the additional actions are placed * before or after a standard action. * The indexes for the standard actions are: * - '0010': Show details * - '0020': Show booking plan * - '0030': Show semester plan * - '0040': Manage permissions * - '0050': Manage temporary permissions * - '0060': Edit resource * - '0070': Book resource * - '0080': Mass deletion of bookings * - '0090': Export bookings * - '0100': Show files * - '0110': Delete resource */ ?> > data-id="id) ?>" data-range_type="" data-name="name) ?>" class="clipboard-draggable-item"> getPictureUrl(); ?> getIcon('clickable') ?> getFullName() : $resource->name ) ?> name) ?> asImg(['class' => 'text-bottom']) ?> getPropertyObject($additional_property); if ($property instanceof ResourceProperty) { $value = $property->__toString(); } elseif($resource->isField($additional_property)) { //There is a SORM field with the name $additional_property. $value = $resource->__get($additional_property); } ?> getActionLink('show'), _('Details'), Icon::create('info-circle'), ['data-dialog' => 'size=auto'] ]; $actions['0020'] = [ $resource->getActionLink('booking_plan'), _('Belegungsplan'), Icon::create('timetable') ]; $actions['0030'] = [ $resource->getActionLink('semester_plan'), _('Semester-Belegungsplan'), Icon::create('timetable'), ['target' => '_blank'] ]; if ($show_admin_actions) { $actions['0040'] = [ $resource->getActionLink('permissions'), _('Berechtigungen verwalten'), Icon::create('roles2'), ['data-dialog' => 'size=auto'] ]; $actions['0050'] = [ $resource->getActionLink('temporary_permissions'), _('Temporäre Berechtigungen verwalten'), Icon::create('roles2'), ['data-dialog' => 'size=auto'] ]; $actions['0060'] = [ $resource->getActionLink('edit'), _('Bearbeiten'), Icon::create('edit'), ['data-dialog' => 'size=auto'] ]; } if ($show_autor_actions) { $actions['0070'] = [ $resource->getActionLink( 'assign-undecided', [ 'no_reload' => '1' ] ), _('Buchen'), Icon::create('lock-locked'), [ 'data-dialog' => 'size=big' ] ]; if ($show_global_admin_actions) { $actions['0080'] = [ $resource->getActionLink( 'delete_bookings', [ 'no_reload' => '1' ] ), _('Buchungen löschen'), Icon::create('trash'), ['data-dialog' => 'size=auto'] ]; } } if ($show_user_actions) { $actions['0090'] = [ $resource->getActionLink('export_bookings'), _('Buchungen exportieren'), Icon::create('file-excel'), ['data-dialog' => 'size=auto'] ]; } $actions['0100'] = [ $resource->getActionLink('files'), _('Dateien anzeigen'), Icon::create( $resource->hasFiles() ? 'folder-full' : 'folder-empty' ), [] ]; if ($show_global_admin_actions) { $actions['0110'] = [ $resource->getActionLink('delete'), _('Löschen'), Icon::create('trash'), ['data-dialog' => ''] ]; } } else { if ($resource->propertyExists('booking_plan_is_public')) { if ($resource->getProperty('booking_plan_is_public')) { $actions['0020'] = [ $resource->getActionLink('booking_plan'), _('Belegungsplan anzeigen'), Icon::create('timetable'), [ 'target' => '_blank' ] ]; } } } //Add additional actions for the action menu, if set: if (is_array($additional_actions)) { $actions = array_merge($actions, $additional_actions); } //Now we sort the actions by key: ksort($actions); //And finally we add the actions to the action menu: foreach ($actions as $action) { if (is_array($action)) { $action_menu->addLink( $action[0], $action[1], $action[2], $action[3] ?? [] ); } } ?> render() ?>