• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

knowledgepixels / nanodash / 23046278881

13 Mar 2026 10:15AM UTC coverage: 15.676% (-0.06%) from 15.734%
23046278881

push

github

web-flow
Merge pull request #388 from knowledgepixels/387-improve-user-page-buttons

Improve user page buttons (#387)

710 of 5489 branches covered (12.93%)

Branch coverage included in aggregate %.

1751 of 10210 relevant lines covered (17.15%)

2.35 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
src/main/java/com/knowledgepixels/nanodash/component/ButtonList.java
1
package com.knowledgepixels.nanodash.component;
2

3
import com.knowledgepixels.nanodash.domain.IndividualAgent;
4
import com.knowledgepixels.nanodash.domain.AbstractResourceWithProfile;
5
import com.knowledgepixels.nanodash.domain.Space;
6
import com.knowledgepixels.nanodash.SpaceMemberRole;
7
import org.apache.wicket.markup.html.basic.Label;
8
import org.apache.wicket.markup.html.link.AbstractLink;
9
import org.apache.wicket.markup.html.panel.Panel;
10
import org.apache.wicket.markup.repeater.Item;
11
import org.apache.wicket.markup.repeater.data.DataView;
12
import org.apache.wicket.markup.repeater.data.ListDataProvider;
13

14
import java.util.ArrayList;
15
import java.util.List;
16

17
public class ButtonList extends Panel {
18

19
    public ButtonList(String markupId, AbstractResourceWithProfile resourceWithProfile, List<AbstractLink> buttons, List<AbstractLink> memberButtons, List<AbstractLink> adminButtons) {
20
        super(markupId);
×
21
        setOutputMarkupId(true);
×
22

23
        List<AbstractLink> allButtons = new ArrayList<>();
×
24
        if (buttons != null) {
×
25
            allButtons.addAll(buttons);
×
26
        }
27
        if (resourceWithProfile instanceof Space space) {
×
28
            if (SpaceMemberRole.isCurrentUserMember(space) && memberButtons != null) {
×
29
                allButtons.addAll(memberButtons);
×
30
            }
31
            if (SpaceMemberRole.isCurrentUserAdmin(space) && adminButtons != null) {
×
32
                allButtons.addAll(adminButtons);
×
33
            }
34
        } else if (resourceWithProfile instanceof IndividualAgent ia) {
×
35
            if (ia.isCurrentUser() && adminButtons != null) {
×
36
                allButtons.addAll(adminButtons);
×
37
            }
38
        } else if (resourceWithProfile != null && resourceWithProfile.getSpace() != null) {
×
39
            Space space = resourceWithProfile.getSpace();
×
40
            if (SpaceMemberRole.isCurrentUserMember(space) && memberButtons != null) {
×
41
                allButtons.addAll(memberButtons);
×
42
            }
43
            if (SpaceMemberRole.isCurrentUserAdmin(space) && adminButtons != null) {
×
44
                allButtons.addAll(adminButtons);
×
45
            }
46
        }
47
        if (allButtons.isEmpty()) {
×
48
            add(new Label("buttons").setVisible(false));
×
49
        } else {
50
            add(new DataView<AbstractLink>("buttons", new ListDataProvider<AbstractLink>(allButtons)) {
×
51

52
                @Override
53
                protected void populateItem(Item<AbstractLink> item) {
54
                    item.add(item.getModelObject());
×
55
                }
×
56

57
            });
58
        }
59
    }
×
60

61
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc