Skip to content

Commit ef22901

Browse files
committed
Include gravatar images in registrant permissions panel, if configured
1 parent e13ea7f commit ef22901

File tree

3 files changed

+40
-8
lines changed

3 files changed

+40
-8
lines changed

src/com/gitblit/wicket/panels/GravatarImage.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,12 @@ public class GravatarImage extends Panel {
4444
public GravatarImage(String id, PersonIdent person) {
4545
this(id, person, 0);
4646
}
47-
47+
4848
public GravatarImage(String id, PersonIdent person, int width) {
49+
this(id, person, width, true);
50+
}
51+
52+
public GravatarImage(String id, PersonIdent person, int width, boolean linked) {
4953
super(id);
5054

5155
String email = person.getEmailAddress() == null ? person.getName().toLowerCase() : person.getEmailAddress().toLowerCase();
@@ -57,9 +61,13 @@ public GravatarImage(String id, PersonIdent person, int width) {
5761
ExternalImage image = new ExternalImage("image", url);
5862
WicketUtils.setCssClass(image, "gravatar");
5963
link.add(image);
60-
WicketUtils.setHtmlTooltip(link,
64+
if (linked) {
65+
WicketUtils.setHtmlTooltip(link,
6166
MessageFormat.format("View Gravatar profile for {0}", person.getName()));
62-
add(link);
67+
} else {
68+
WicketUtils.setHtmlTooltip(link, person.getName());
69+
}
70+
add(link.setEnabled(linked));
6371
setVisible(GitBlit.getBoolean(Keys.web.allowGravatar, true));
6472
}
6573
}

src/com/gitblit/wicket/panels/RegistrantPermissionsPanel.html

+9-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,15 @@
1717
<form style="padding: 20px 40px;" class="well form-inline" wicket:id="addPermissionForm">
1818
<select class="input-large" wicket:id="registrant"></select> <select class="input-medium" wicket:id="permission"></select> <input class="btn btn-success" type="submit" value="Add" wicket:message="value:gb.add" wicket:id="addPermissionButton"/>
1919
</form>
20-
</div>
20+
</div>
21+
22+
<wicket:fragment wicket:id="userRegistrant">
23+
<span wicket:id="userAvatar"></span> <span style="font-weight: bold;" wicket:id="userName"></span>
24+
</wicket:fragment>
25+
26+
<wicket:fragment wicket:id="teamRegistrant">
27+
<span style="font-weight: bold;" wicket:id="teamName"></span>
28+
</wicket:fragment>
2129

2230
</wicket:panel>
2331
</body>

src/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java

+20-4
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,21 @@
2828
import org.apache.wicket.markup.html.form.DropDownChoice;
2929
import org.apache.wicket.markup.html.form.Form;
3030
import org.apache.wicket.markup.html.form.IChoiceRenderer;
31+
import org.apache.wicket.markup.html.panel.Fragment;
3132
import org.apache.wicket.markup.repeater.Item;
3233
import org.apache.wicket.markup.repeater.OddEvenItem;
3334
import org.apache.wicket.markup.repeater.RefreshingView;
3435
import org.apache.wicket.markup.repeater.util.ModelIteratorAdapter;
3536
import org.apache.wicket.model.CompoundPropertyModel;
3637
import org.apache.wicket.model.IModel;
38+
import org.eclipse.jgit.lib.PersonIdent;
3739

3840
import com.gitblit.Constants.AccessPermission;
3941
import com.gitblit.Constants.PermissionType;
4042
import com.gitblit.Constants.RegistrantType;
43+
import com.gitblit.GitBlit;
4144
import com.gitblit.models.RegistrantAccessPermission;
45+
import com.gitblit.models.UserModel;
4246
import com.gitblit.utils.DeepCopier;
4347
import com.gitblit.utils.StringUtils;
4448
import com.gitblit.wicket.WicketUtils;
@@ -96,11 +100,23 @@ public void populateItem(final Item<RegistrantAccessPermission> item) {
96100
WicketUtils.setCssStyle(label, "font-weight: bold;");
97101
item.add(label);
98102
}
103+
} else if (RegistrantType.USER.equals(entry.registrantType)) {
104+
// user
105+
PersonIdent ident = new PersonIdent(entry.registrant, null);
106+
UserModel user = GitBlit.self().getUserModel(entry.registrant);
107+
if (user != null) {
108+
ident = new PersonIdent(user.getDisplayName(), user.emailAddress);
109+
}
110+
111+
Fragment userFragment = new Fragment("registrant", "userRegistrant", RegistrantPermissionsPanel.this);
112+
userFragment.add(new GravatarImage("userAvatar", ident, 16, false));
113+
userFragment.add(new Label("userName", entry.registrant));
114+
item.add(userFragment);
99115
} else {
100-
// user or team
101-
Label label = new Label("registrant", entry.registrant);
102-
WicketUtils.setCssStyle(label, "font-weight: bold;");
103-
item.add(label);
116+
// team
117+
Fragment teamFragment = new Fragment("registrant", "teamRegistrant", RegistrantPermissionsPanel.this);
118+
teamFragment.add(new Label("teamName", entry.registrant));
119+
item.add(teamFragment);
104120
}
105121
switch (entry.permissionType) {
106122
case OWNER:

0 commit comments

Comments
 (0)