From cc54019c24afc324473ba4a5295423b2d848e8e4 Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Wed, 11 May 2022 20:03:02 +0000 Subject: [PATCH] fix icons und html-structure, closes #1036 Closes #1036 Merge request studip/studip!608 --- app/views/course/statusgroups/_group.php | 188 +++++++++--------- .../assets/stylesheets/less/content_box.less | 4 +- 2 files changed, 95 insertions(+), 97 deletions(-) diff --git a/app/views/course/statusgroups/_group.php b/app/views/course/statusgroups/_group.php index 1110e7caabf..aa0ebb2b111 100644 --- a/app/views/course/statusgroups/_group.php +++ b/app/views/course/statusgroups/_group.php @@ -26,124 +26,122 @@ </a> <?php endif ?> </h1> - <nav> - <?php if ($is_autor && !$is_tutor && $group->id != 'nogroup' && $group->isMember($GLOBALS['user']->id)) : ?> - <a href="<?= $controller->link_for('messages/write', [ - 'group_id' => $group->id, - 'default_subject' => htmlReady($course_title . ' (' . $group->name . ')'), - ]) ?>" data-dialog="size=auto"> - <?= Icon::create('mail', 'clickable', ['title' => sprintf( - _('Nachricht an alle Mitglieder der Gruppe %s schicken'), - $group->name - ), - ]) ?> - </a> - <?php endif ?> - <?php if (!$GLOBALS['perm']->have_perm('admin')) : ?> + <?php if ($is_autor && !$is_tutor && $group->id != 'nogroup' && $group->isMember($GLOBALS['user']->id)) : ?> + <a href="<?= $controller->link_for('messages/write', [ + 'group_id' => $group->id, + 'default_subject' => htmlReady($course_title . ' (' . $group->name . ')'), + ]) ?>" data-dialog="size=auto"> + <?= Icon::create('mail', Icon::ROLE_CLICKABLE, ['title' => sprintf( + _('Nachricht an alle Mitglieder der Gruppe %s schicken'), + $group->name + ), + ]) ?> + </a> + <?php endif ?> + <?php if (!$GLOBALS['perm']->have_perm('admin')) : ?> + <nav> <?php if ($group->id != 'nogroup' && $joinable) : ?> <a href="<?= $controller->url_for('course/statusgroups/join', $group->id) ?>"> - <?= Icon::create('door-enter', 'clickable', + <?= Icon::create('door-enter', Icon::ROLE_CLICKABLE, ['title' => sprintf(_('Mitglied von Gruppe %s werden'), htmlReady($group->name))]) ?></a> <?php elseif ($group->id != 'nogroup' && $group->selfassign && $group->selfassign_start > time()) : ?> - <?= Icon::create('door-enter', 'inactive', + <?= Icon::create('door-enter', Icon::ROLE_INACTIVE, ['title' => sprintf(_('Der Eintrag in diese Gruppe ist möglich ab %s.'), date('d.m.Y H:i', $group->selfassign_start))]) ?> <?php elseif ($group->id != 'nogroup' && $group->selfassign && $group->selfassign_end && $group->selfassign_end < time()) : ?> - <?= Icon::create('door-enter', 'inactive', + <?= Icon::create('door-enter', Icon::ROLE_INACTIVE, ['title' => sprintf(_('Der Eintrag in diese Gruppe war möglich bis %s.'), date('d.m.Y H:i', $group->selfassign_end))]) ?> <?php elseif ($group->id != 'nogroup' && $group->userMayLeave($GLOBALS['user']->id)) : ?> <a href="<?= $controller->url_for('course/statusgroups/leave', $group->id) ?>" data-confirm="<?= sprintf(_('Aus Gruppe %s austragen'),htmlReady($group->name)) . '?' ?>"> - <?= Icon::create('door-leave', 'attention', + <?= Icon::create('door-leave', Icon::ROLE_ATTENTION, ['title' => sprintf(_('Aus Gruppe %s austragen'), htmlReady($group->name))]) ?></a> <?php endif ?> - <?php endif ?> - <?php if ($is_tutor) : ?> - <?php if ($group->id != 'nogroup') : ?> - <?= ActionMenu::get()->setContext($group->name) - ->addLink( - $controller->url_for('messages/write', [ - 'group_id' => $group->id, - 'default_subject' => htmlReady($course_title . ' (' . $group->name . ')'), - ]), - _('Nachricht schicken'), - Icon::create('mail', 'clickable', [ - 'title' => sprintf( - _('Nachricht an alle Mitglieder der Gruppe %s schicken'), - $group->name - ), - ]), - ['data-dialog' => 'size=auto'] - ) - ->condition(!($is_participants_locked || $is_locked) && count($allmembers) < 500) - ->addMultiPersonSearch( - MultiPersonSearch::get('add_statusgroup_member' . $group->id) - ->setTitle(sprintf(_('Personen zu Gruppe %s hinzufügen'), $group->name)) - ->setLinkText(_('Personen hinzufügen')) - ->setSearchObject($memberSearch) - ->setDefaultSelectedUser($group->members->pluck('user_id')) - ->setDataDialogStatus(Request::isXhr()) - ->setJSFunctionOnSubmit(Request::isXhr() ? - 'STUDIP.Dialog.close();' : false) - ->setExecuteURL($controller->url_for('course/statusgroups/add_member/' . - $group->id)) - ->addQuickfilter(_('Veranstaltungsteilnehmende'), - $allmembers ? $allmembers->pluck('user_id') : []) - ->addQuickfilter(_('Teilnehmende ohne Gruppenzuordnung'), - $nogroupmembers) - ) - ->condition(!($is_participants_locked || $is_locked) && count($allmembers) >= 500) - ->addMultiPersonSearch( - MultiPersonSearch::get('add_statusgroup_member' . $group->id) - ->setTitle(sprintf(_('Personen zu Gruppe %s hinzufügen'), $group->name)) - ->setLinkText(_('Personen hinzufügen')) - ->setSearchObject($memberSearch) - ->setDefaultSelectedUser($group->members->pluck('user_id')) - ->setDataDialogStatus(Request::isXhr()) - ->setJSFunctionOnSubmit(Request::isXhr() ? - 'STUDIP.Dialog.close();' : false) - ->setExecuteURL($controller->url_for('course/statusgroups/add_member/' . - $group->id)) - ) - ->conditionAll(!$is_locked) - ->addLink( - $controller->url_for('course/statusgroups/edit', $group->id), - _('Bearbeiten'), - Icon::create('edit', 'clickable', [ - 'title' => sprintf( - _('Gruppe %s bearbeiten'), - $group->name - ) - ]), - ['data-dialog' => ''] - ) - ->addLink( - $controller->url_for('course/statusgroups/delete', $group->id), - _('Löschen'), - Icon::create('trash', 'clickable', [ - 'title' => sprintf( - _('Gruppe %s löschen'), - $group->name - ) - ]), - ['data-confirm' => _('Soll die Gruppe wirklich gelöscht werden?')] - ) ?> - <?php else : ?> + </nav> + <?php endif ?> + <?php if ($is_tutor) : ?> + <?php if ($group->id != 'nogroup') : ?> + <?= ActionMenu::get()->setContext($group->name) + ->addLink( + $controller->url_for('messages/write', [ + 'group_id' => $group->id, + 'default_subject' => htmlReady($course_title . ' (' . $group->name . ')'), + ]), + _('Nachricht schicken'), + Icon::create('mail', Icon::ROLE_CLICKABLE, [ + 'title' => sprintf( + _('Nachricht an alle Mitglieder der Gruppe %s schicken'), + $group->name + ), + ]), + ['data-dialog' => 'size=auto'] + ) + ->condition(!($is_participants_locked || $is_locked) && count($allmembers) < 500) + ->addMultiPersonSearch( + MultiPersonSearch::get('add_statusgroup_member' . $group->id) + ->setTitle(sprintf(_('Personen zu Gruppe %s hinzufügen'), $group->name)) + ->setLinkText(_('Personen hinzufügen')) + ->setSearchObject($memberSearch) + ->setDefaultSelectedUser($group->members->pluck('user_id')) + ->setDataDialogStatus(Request::isXhr()) + ->setJSFunctionOnSubmit(Request::isXhr() ? 'STUDIP.Dialog.close();' : false) + ->setExecuteURL($controller->url_for('course/statusgroups/add_member/' . + $group->id)) + ->addQuickfilter(_('Veranstaltungsteilnehmende'), + $allmembers ? $allmembers->pluck('user_id') : []) + ->addQuickfilter(_('Teilnehmende ohne Gruppenzuordnung'), + $nogroupmembers) + ) + ->condition(!($is_participants_locked || $is_locked) && count($allmembers) >= 500) + ->addMultiPersonSearch( + MultiPersonSearch::get('add_statusgroup_member' . $group->id) + ->setTitle(sprintf(_('Personen zu Gruppe %s hinzufügen'), $group->name)) + ->setLinkText(_('Personen hinzufügen')) + ->setSearchObject($memberSearch) + ->setDefaultSelectedUser($group->members->pluck('user_id')) + ->setDataDialogStatus(Request::isXhr()) + ->setJSFunctionOnSubmit(Request::isXhr() ? 'STUDIP.Dialog.close();' : false) + ->setExecuteURL($controller->url_for('course/statusgroups/add_member/' . $group->id)) + ) + ->conditionAll(!$is_locked) + ->addLink( + $controller->url_for('course/statusgroups/edit', $group->id), + _('Bearbeiten'), + Icon::create('edit', Icon::ROLE_CLICKABLE, [ + 'title' => sprintf( + _('Gruppe %s bearbeiten'), + $group->name + ) + ]), + ['data-dialog' => ''] + ) + ->addLink( + $controller->url_for('course/statusgroups/delete', $group->id), + _('Löschen'), + Icon::create('trash', Icon::ROLE_CLICKABLE, [ + 'title' => sprintf( + _('Gruppe %s löschen'), + $group->name + ) + ]), + ['data-confirm' => _('Soll die Gruppe wirklich gelöscht werden?')] + ) ?> + <?php else : ?> + <nav> <a href="<?= $controller->url_for('messages/write', [ 'filter' => 'not_grouped', 'course_id' => $course_id, 'default_subject' => htmlReady($course_title).' ('.htmlReady($group->name).')' ]) ?>" data-dialog="size=auto;"> - <?= Icon::create('mail', 'clickable', [ - 'title' => _('Nachricht an alle nicht zugeordneten Personen schicken') - ])->asImg(20) ?></a> - <?php endif ?> + <?= Icon::create('mail')->asImg(['title' => _('Nachricht an alle nicht zugeordneten Personen schicken')]) ?> + </a> + </nav> <?php endif ?> - </nav> + <?php endif ?> </header> <section> <article id="group-members-<?= $group->id ?>"<?= $load ? ' class="open"' : ''?>> diff --git a/resources/assets/stylesheets/less/content_box.less b/resources/assets/stylesheets/less/content_box.less index 9485c9a2457..2d3482fafe8 100644 --- a/resources/assets/stylesheets/less/content_box.less +++ b/resources/assets/stylesheets/less/content_box.less @@ -150,12 +150,12 @@ section.contentbox { align-items: center; } nav { - a, span { + a, > span { display: inline-block; vertical-align: middle; } - span { + > span { &:last-child { border-right: none; padding-right: 0px; -- GitLab