Skip to content
Snippets Groups Projects
Commit cf373d64 authored by David Siegfried's avatar David Siegfried
Browse files

refine room-search, closes #228

Closes #228 and #1022

Merge request studip/studip!621
parent baa6e83f
No related branches found
No related tags found
No related merge requests found
<article class="studip room-list-item">
<header class="widget-header">
<h1><?= Assets::img(
'anfasser_24.png',
[
'class' => 'clipboard-draggable-item',
'data-id' => $room->id,
'data-range_type' => 'Room',
'data-name' => $room->name
]
) ?><?= htmlReady($room->name) ?></h1>
<?
$actions = ActionMenu::get()->setContext($room);
$actions->addLink(
$room->getActionLink('show'),
_('Raumdetails anzeigen'),
Icon::create('info-circle'),
['data-dialog' => '']
);
if ($room->userHasPermission($current_user, 'autor')) {
$actions->addLink(
$room->getActionLink('booking_plan', $booking_plan_action_params),
_('Wochenbelegung'),
Icon::create('timetable'),
['target' => '_blank']
);
$actions->addLink(
$room->getActionLink('semester_plan'),
_('Semesterbelegung'),
Icon::create('timetable'),
['target' => '_blank']
);
} else {
if ($room->booking_plan_is_public && Config::get()->RESOURCES_SHOW_PUBLIC_ROOM_PLANS) {
$actions->addLink(
$room->getActionLink('booking_plan', $booking_plan_action_params),
_('Belegungsplan'),
Icon::create('timetable'),
['data-dialog' => 'size=big']
);
$actions->addLink(
$room->getActionLink('semester_plan'),
_('Semesterbelegung'),
Icon::create('timetable'),
['data-dialog' => 'size=big']
);
}
}
if ($room->requestable && $room->userHasRequestRights($current_user)) {
$actions->addLink(
$room->getActionLink('request'),
_('Raum anfragen'),
Icon::create('room-request'),
['data-dialog' => 'size=auto']
);
}
if ($room->building) {
$geo_coordinates_object = $room->building->getPropertyObject('geo_coordinates');
if ($geo_coordinates_object instanceof ResourceProperty) {
$actions->addLink(
ResourceManager::getMapUrlForResourcePosition(
$room->building->getPropertyObject('geo_coordinates')
),
_('Zum Lageplan'),
Icon::create('globe'),
['target' => '_blank']
);
}
}
if ($clipboard_widget_id) {
$actions->addLink(
'#',
_('Zur Raumgruppe hinzufügen'),
IcoN::create('add'),
[
'class' => 'clipboard-add-item-button',
'data-range_type' => 'Room',
'data-range_id' => $room->id,
'data-clipboard_id' => $clipboard_widget_id
]
);
}
?>
<?= $actions->render() ?>
</header>
<section>
<p class="description">
<?= htmlReady($room->description) ?>
</p>
<section class="properties-and-actions">
<ul class="property-list">
<? if ($room->room_type): ?>
<li><?= htmlReady($room->room_type) ?></li>
<? endif ?>
<? if ($room->seats): ?>
<li>
<?= sprintf(
ngettext(
'%d Sitzplatz',
'%d Sitzplätze',
$room->seats
),
$room->seats
) ?>
</li>
<? endif ?>
</ul>
</section>
</section>
</article>
<? if (is_array($rooms) && count($rooms)): ?>
<? foreach ($rooms as $room): ?>
<?= $this->render_partial(
'resources/_common/_room_search_result.php',
[
'room' => $room,
'show_user_actions' => $room->userHasPermission(
$current_user,
'user'
),
'show_autor_actions' => $room->userHasPermission(
$current_user,
'autor'
),
'show_tutor_actions' => $room->userHasPermission(
$current_user,
'tutor'
),
'show_admin_actions' => $room->userHasPermission(
$current_user,
'admin'
),
'cliboard_widget_id' => $clipboard_widget_id,
'booking_plan_action_params' => $booking_plan_action_params
]
) ?>
<? endforeach ?>
<table class="default sortable-table">
<colgroup>
<col style="width: 20px">
<col style="width: 30%">
<col style="width: 30%">
</colgroup>
<thead>
<tr>
<th data-sort="text" colspan="2"><?= _('Name')?></th>
<th><?= _('Beschreibung')?></th>
<th data-sort="number" ><?= _('Sitzplätze')?></th>
<th class="actions"><?= _('Aktion')?></th>
</tr>
</thead>
<tbody>
<? foreach ($rooms as $room): ?>
<tr>
<td>
<?= Assets::img(
'anfasser_24.png',
[
'class' => 'clipboard-draggable-item',
'data-id' => $room->id,
'data-range_type' => 'Room',
'data-name' => $room->name
]
) ?>
</td>
<td>
<? if ($room->userHasPermission($current_user, 'autor') || $room->booking_plan_is_public && Config::get()->RESOURCES_SHOW_PUBLIC_ROOM_PLANS): ?>
<a href="<?= $room->getActionLink('booking_plan', $booking_plan_action_params) ?>" data-dialog="size=big">
<?= htmlReady($room->name) ?>
</a>
<? else : ?>
<?= htmlReady($room->name) ?>
<? endif ?>
</td>
<td>
<? if ($room->description): ?>
<?= htmlReady($room->description) ?>
<? endif ?>
</td>
<td>
<? if ($room->seats): ?>
<?= htmlReady($room->seats) ?>
<? endif ?>
</td>
<td class="actions">
<?
$actions = ActionMenu::get();
$actions->addLink(
$room->getActionURL('show'),
_('Raumdetails anzeigen'),
Icon::create('info-circle'),
['data-dialog' => '']
);
if ($room->userHasPermission($current_user, 'autor')) {
$actions->addLink(
$room->getActionURL('booking_plan', $booking_plan_action_params),
_('Wochenbelegung'),
Icon::create('timetable'),
['target' => '_blank']
);
$actions->addLink(
$room->getActionURL('semester_plan'),
_('Semesterbelegung'),
Icon::create('timetable'),
['target' => '_blank']
);
} else {
if ($room->booking_plan_is_public && Config::get()->RESOURCES_SHOW_PUBLIC_ROOM_PLANS) {
$actions->addLink(
$room->getActionURL('booking_plan', $booking_plan_action_params),
_('Belegungsplan'),
Icon::create('timetable'),
['data-dialog' => 'size=big']
);
$actions->addLink(
$room->getActionURL('semester_plan'),
_('Semesterbelegung'),
Icon::create('timetable'),
['data-dialog' => 'size=big']
);
}
}
if ($room->requestable && $room->userHasRequestRights($current_user)) {
$actions->addLink(
$room->getActionURL('request'),
_('Raum anfragen'),
Icon::create('room-request'),
['data-dialog' => 'size=auto']
);
}
if ($room->building) {
$geo_coordinates_object = $room->building->getPropertyObject('geo_coordinates');
if ($geo_coordinates_object instanceof ResourceProperty) {
$actions->addLink(
ResourceManager::getMapUrlForResourcePosition(
$room->building->getPropertyObject('geo_coordinates')
),
_('Zum Lageplan'),
Icon::create('globe'),
['target' => '_blank']
);
}
}
if ($clipboard_widget_id) {
$actions->addLink(
'#',
_('Zur Raumgruppe hinzufügen'),
IcoN::create('add'),
[
'class' => 'clipboard-add-item-button',
'data-range_type' => 'Room',
'data-range_id' => $room->id,
'data-clipboard_id' => $clipboard_widget_id
]
);
}
echo $actions->render();
?>
</td>
</tr>
<? endforeach ?>
</tbody>
</table>
<? else: ?>
<? if ($form_submitted && !$has_errors): ?>
<?= MessageBox::info(
......
......@@ -221,6 +221,9 @@ ul.resource-tree {
}
}
.clipboard-draggable-item {
cursor: move;
}
.room-clipboard-special-actions {
margin-top: 0.25em;
......@@ -375,19 +378,6 @@ ul.resource-tree {
}
}
article.room-list-item {
header > nav.action-menu > a.action-menu-icon {
border-right: none;
margin-right: 0;
}
section > ul.property-list {
list-style: none;
padding-left: 0;
flex-grow: 1;
}
}
.fc-time, .fc-widget-header {
background-color: $content-color-20;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment