Repository navigation
[LUI] Contact: Replacing LUI Tables with KS Tables (Mail Object Search) - #12159
Merged
mjansenDatabay merged 1 commit intoOct 8, 2026
Conversation
mjansenDatabay
requested changes
Oct 2, 2026
Contributor
There was a problem hiding this comment.
Thank you a lot for contributing to ILIAS.
this looks good except for some minor issues.
- Please check:
ilMailFormGUI::searchCoursesTo()still redirects tocmd=showMemberswhen the session keysearch_crsis set.executeCommand()now ignores every command excepthandleMailSearchObjectActionsandcancel. Is that session path obsolete, or should it open the member table again?
Please implement the following changes:
- Drop
getRequestValue()and the unused$viewproperty onilMailSearchObjectGUI, if they are really not needed. Nothing in the new class seems to read them. - Pass
$this->mailing_allowedintosetMailingAllowed().showMyObjects()andshowMembers()repeat the same internal_mail check the constructor already stored. -
TXT_MARKED_ENTRIESis written intotpl.mail_search_template.html, which no longer has that placeholder. - Use
mail_select_{type}again where the old GUI did.showMembers()andshareObjects()always call$this->lng->txt('mail_select_crs'). Groups previously usedmail_select_grp. - When
mailObjects()ormailMembers()resolves to an empty id list, show the same info message as before and stay on the current view (mail_select_crs/mail_select_grp, ormail_select_one_entryon the member table). Both methods currently stage the unchanged draft and redirect to the mail form.shareObjects()andshareMembers()already keep the user on the page. - Make member row ids unique across the selected courses and groups.
getRows()uses the user id alone. The same person in two selected objects becomes two records with one id, and the KS table selection is keyed by that id. The old table rendered one row per object, which is why themembers_crs_grpcolumn exists. A row id such as{obj_id}_{user_id}needs a matching split inresolveUserIds(). - Rename
$searchTplinshowMembers()to$search_tpl. - Restore the buddy-system row action from
ilMailSearchObjectMembershipsTableGUI. In the mail context, when the buddy system is enabled, the row is another user, the relation is unlinked, andbs_allow_to_contact_meis set, the old table offeredbuddy_bs_btn_txt_unlinked_aand linked toilBuddySystemGUI::request. The forward inexecuteCommand()is still there, and nothing links to it. - Keep the old per-row conditions on the KS actions via
DataRow::withDisabledAction().MailSearchObjectsTablealways offers "list members". Previously that action existed only whendoesExposeMembers()wastrue(can_send_mailsstill listed the row). "Mail members" on a row existed only whenmailing_allowedandilParticipants::canSendMailToMembers()were bothtrue. The multi-action may stay. The handler already skips objects that cannot be mailed and rejects a member list when any selected object does not expose members. - Base the hidden-members caption on
!doesExposeMembers(), and show the asterisk on that row again (the old caption_asterisk block appended*to the title). The new counter uses!$object->getShowMembers(). That marks a course or group for a user with write who is allowed to see the list, and it skips an inactive course whose member list is hidden from a normal member.tpl.mail_search_template.htmlstill prints* {TXT_LIST_MEMBERS_NOT_AVAILABLE}only when that counter is greater than zero, and the row title no longer carries the asterisk. - Re-introduce the cancel button (e.g. as a "Tab Backlink Target") when navigating from the mail system (
ref=mail) to the object lists. The link must callcancel()withview=myobjects, soreturnToParent()is executed. A cancel link without that parameter redisplaysshowMyObjects(). In the workspace context (ref=wsp), the view keeps the existing back target to share and does not get this button.
Best regards,
Michael
marvin-matuschek
force-pushed
the
12/ref/mail-search-object-tables
branch
from
October 5, 2026 12:17
2987679 to
0359d1e
Compare
mjansenDatabay
self-requested a review
October 7, 2026 10:30
marvin-matuschek
force-pushed
the
12/ref/mail-search-object-tables
branch
3 times, most recently
from
October 7, 2026 11:28
82440d2 to
ebd88aa
Compare
mjansenDatabay
approved these changes
Oct 7, 2026
marvin-matuschek
force-pushed
the
12/ref/mail-search-object-tables
branch
from
October 7, 2026 13:27
ebd88aa to
25282cd
Compare
…sTable and MailSearchObjectMembershipsTable Co-authored-by: Michael Jansen <mjansen@databay.de> Co-authored-by: Nadia Ahmad <nadia@sternenrauch.de>
marvin-matuschek
force-pushed
the
12/ref/mail-search-object-tables
branch
from
October 8, 2026 09:32
25282cd to
a0306ed
Compare
Contributor
|
Thx @marvin-matuschek and @playamongthestars ;-) |
|
finally 🤣 |
Contributor
... 10 years later ...? 😆 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR replaces the LUI tables MailSearchObjectsTableGUI and MailSearchObjectMembershipsTableGUI with KS data tables. This also contains a refactoring of ilMailSearchObjectGUI to reduce complexity and improve security.