Browse Source

Include gravatar images in registrant permissions panel, if configured

tags/v1.2.0
James Moger 11 years ago
parent
commit
ef2290175d

+ 11
- 3
src/com/gitblit/wicket/panels/GravatarImage.java View File

public GravatarImage(String id, PersonIdent person) { public GravatarImage(String id, PersonIdent person) {
this(id, person, 0); this(id, person, 0);
} }
public GravatarImage(String id, PersonIdent person, int width) { public GravatarImage(String id, PersonIdent person, int width) {
this(id, person, width, true);
}
public GravatarImage(String id, PersonIdent person, int width, boolean linked) {
super(id); super(id);
String email = person.getEmailAddress() == null ? person.getName().toLowerCase() : person.getEmailAddress().toLowerCase(); String email = person.getEmailAddress() == null ? person.getName().toLowerCase() : person.getEmailAddress().toLowerCase();
ExternalImage image = new ExternalImage("image", url); ExternalImage image = new ExternalImage("image", url);
WicketUtils.setCssClass(image, "gravatar"); WicketUtils.setCssClass(image, "gravatar");
link.add(image); link.add(image);
WicketUtils.setHtmlTooltip(link,
if (linked) {
WicketUtils.setHtmlTooltip(link,
MessageFormat.format("View Gravatar profile for {0}", person.getName())); MessageFormat.format("View Gravatar profile for {0}", person.getName()));
add(link);
} else {
WicketUtils.setHtmlTooltip(link, person.getName());
}
add(link.setEnabled(linked));
setVisible(GitBlit.getBoolean(Keys.web.allowGravatar, true)); setVisible(GitBlit.getBoolean(Keys.web.allowGravatar, true));
} }
} }

+ 9
- 1
src/com/gitblit/wicket/panels/RegistrantPermissionsPanel.html View File

<form style="padding: 20px 40px;" class="well form-inline" wicket:id="addPermissionForm"> <form style="padding: 20px 40px;" class="well form-inline" wicket:id="addPermissionForm">
<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"/> <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"/>
</form> </form>
</div>
</div>
<wicket:fragment wicket:id="userRegistrant">
<span wicket:id="userAvatar"></span> <span style="font-weight: bold;" wicket:id="userName"></span>
</wicket:fragment>
<wicket:fragment wicket:id="teamRegistrant">
<span style="font-weight: bold;" wicket:id="teamName"></span>
</wicket:fragment>
</wicket:panel> </wicket:panel>
</body> </body>

+ 20
- 4
src/com/gitblit/wicket/panels/RegistrantPermissionsPanel.java View File

import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.IChoiceRenderer; import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.OddEvenItem; import org.apache.wicket.markup.repeater.OddEvenItem;
import org.apache.wicket.markup.repeater.RefreshingView; import org.apache.wicket.markup.repeater.RefreshingView;
import org.apache.wicket.markup.repeater.util.ModelIteratorAdapter; import org.apache.wicket.markup.repeater.util.ModelIteratorAdapter;
import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel; import org.apache.wicket.model.IModel;
import org.eclipse.jgit.lib.PersonIdent;


import com.gitblit.Constants.AccessPermission; import com.gitblit.Constants.AccessPermission;
import com.gitblit.Constants.PermissionType; import com.gitblit.Constants.PermissionType;
import com.gitblit.Constants.RegistrantType; import com.gitblit.Constants.RegistrantType;
import com.gitblit.GitBlit;
import com.gitblit.models.RegistrantAccessPermission; import com.gitblit.models.RegistrantAccessPermission;
import com.gitblit.models.UserModel;
import com.gitblit.utils.DeepCopier; import com.gitblit.utils.DeepCopier;
import com.gitblit.utils.StringUtils; import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.WicketUtils;
WicketUtils.setCssStyle(label, "font-weight: bold;"); WicketUtils.setCssStyle(label, "font-weight: bold;");
item.add(label); item.add(label);
} }
} else if (RegistrantType.USER.equals(entry.registrantType)) {
// user
PersonIdent ident = new PersonIdent(entry.registrant, null);
UserModel user = GitBlit.self().getUserModel(entry.registrant);
if (user != null) {
ident = new PersonIdent(user.getDisplayName(), user.emailAddress);
}

Fragment userFragment = new Fragment("registrant", "userRegistrant", RegistrantPermissionsPanel.this);
userFragment.add(new GravatarImage("userAvatar", ident, 16, false));
userFragment.add(new Label("userName", entry.registrant));
item.add(userFragment);
} else { } else {
// user or team
Label label = new Label("registrant", entry.registrant);
WicketUtils.setCssStyle(label, "font-weight: bold;");
item.add(label);
// team
Fragment teamFragment = new Fragment("registrant", "teamRegistrant", RegistrantPermissionsPanel.this);
teamFragment.add(new Label("teamName", entry.registrant));
item.add(teamFragment);
} }
switch (entry.permissionType) { switch (entry.permissionType) {
case OWNER: case OWNER:

Loading…
Cancel
Save