Made adjustments for the new version of the autocomplete component.

This commit is contained in:
Tom Vahlman 2012-04-02 11:08:19 +02:00
parent bbd58ee4c9
commit bf2ae4713a
2 changed files with 47 additions and 50 deletions
src/main/java/se/su/dsv/scipro/admin/panels

@ -12,6 +12,7 @@ import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.wicket.util.string.Strings;
import se.su.dsv.scipro.SciProSession;
import se.su.dsv.scipro.admin.pages.match.AdminManageProjectIdeaPage;
import se.su.dsv.scipro.data.dataobjects.Employee;
@ -56,16 +57,19 @@ public class ManualMatchPanel extends Panel {
add(currentFragment.setOutputMarkupId(true));
}
private String createNameAndEmail(Employee employee) {
private String createNameAndEmailOutput(Employee employee) {
return employee.getNameAsString() + " <" + employee.getEmailAsString()+">";
}
private String createNameAndEmailAutoComplete(Employee employee) {
return employee.getNameAsString() + " &lt;" + employee.getEmailAsString()+"&gt;";
}
private boolean testACInputString(EmployeeAutoComplete autoCompleteObjectField) {
return autoCompleteObjectField.getModelObject() == null ||
autoCompleteObjectField.getInput() == null ||
autoCompleteObjectField.getInput().isEmpty() ||
!autoCompleteObjectField.getInput().equals(createNameAndEmail(autoCompleteObjectField.getModelObject()));
!autoCompleteObjectField.getInput().equals(autoCompleteObjectField.getModelObject().getNameAsString());
}
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<Match> matchModel, final Component feedbackPanel, final Match.Status status,
@ -81,7 +85,7 @@ public class ManualMatchPanel extends Panel {
matchModel.getObject().setSupervisor(autoCompleteObjectField.getModelObject() != null ? autoCompleteObjectField.getModelObject():null);
matchModel.getObject().setStatus(status);
matchDao.changeStatus(SciProSession.get().getUser(), matchModel.getObject(), null);
Session.get().info(createMatchMessage(createNameAndEmail(autoCompleteObjectField.getModelObject()), matchModel.getObject().getProjectIdea().getTitle(), status));
Session.get().info(createMatchMessage(autoCompleteObjectField.getModelObject(), matchModel.getObject().getProjectIdea().getTitle(), status));
setResponsePage(AdminManageProjectIdeaPage.class);
target.addComponent(feedbackPanel);
}
@ -197,19 +201,14 @@ public class ManualMatchPanel extends Panel {
private static final long serialVersionUID = 7734889540424308421L;
@Override
public void action(AjaxRequestTarget pTarget, Employee newSelection) {
// these checks have already been performed when action is called
// if (newSelection != null) {
// if (pTarget != null) {
final String declineMessage = createDeclineMessage(newSelection, projectIdea, status);
if(declineMessage != null && !declineMessage.isEmpty()) {
saveButton.setMessageContentHTML(declineMessage);
pTarget.addComponent(saveButton);
} else {
saveButton.setMessageContentHTML(createConfirmationMessage(newSelection, status));
pTarget.addComponent(saveButton);
}
// }
// }
final String declineMessage = createDeclineMessage(newSelection, projectIdea, status);
if(declineMessage != null && !declineMessage.isEmpty()) {
saveButton.setMessageContentHTML(declineMessage);
pTarget.addComponent(saveButton);
} else {
saveButton.setMessageContentHTML(createConfirmationMessage(newSelection, status));
pTarget.addComponent(saveButton);
}
}
};
}
@ -217,20 +216,20 @@ public class ManualMatchPanel extends Panel {
/**
*
* This method is used to return a match message that the employee was matched or suggested to supervise the project idea .
* @param nameAndEmail the name and email of the employee
* @param employee the employee that is confirmed or suggested to supervise
* @param projectIdeaTitle the title of the project idea
* @param status the status of the match
* @return String the match message
*/
private String createMatchMessage(final String nameAndEmail, final String projectIdeaTitle, Match.Status status) {
private String createMatchMessage(final Employee employee, final String projectIdeaTitle, Match.Status status) {
StringBuilder messageStr = new StringBuilder();
messageStr.append(nameAndEmail != null ? nameAndEmail : "" );
messageStr.append(createNameAndEmailOutput(employee));
if(status.equals(Match.Status.CONFIRMED)) {
messageStr.append(" was accepted ");
} else if (status.equals(Match.Status.PUBLISHED)) {
messageStr.append(" was suggested ");
}
messageStr.append("as supervisor to The project idea ");
messageStr.append("as supervisor for The project idea ");
messageStr.append(projectIdeaTitle != null ? projectIdeaTitle : "");
messageStr.append(".");
return messageStr.toString();
@ -250,7 +249,7 @@ public class ManualMatchPanel extends Panel {
StringBuilder stringBuilder = new StringBuilder();
if(declineMessage != null && !declineMessage.isEmpty()) {
stringBuilder.append("The project idea has already been rejected by ");
stringBuilder.append(createNameAndEmail(supervisor));
stringBuilder.append(createNameAndEmailAutoComplete(supervisor));
stringBuilder.append(". The decline message was: '");
stringBuilder.append(declineMessage);
if(status.equals(Match.Status.CONFIRMED)) {
@ -280,7 +279,7 @@ public class ManualMatchPanel extends Panel {
} else if (status.equals(Match.Status.PUBLISHED)) {
stringBuilder.append("suggest ");
}
stringBuilder.append(createNameAndEmail(supervisor));
stringBuilder.append(createNameAndEmailAutoComplete(supervisor));
stringBuilder.append(" as supervisor for the project idea.");
return stringBuilder.toString();
}

@ -46,16 +46,20 @@ public class ManualSetReviewerPanel extends Panel {
add(currentFragment);
}
private String createNameAndEmail(EmployeeAutoComplete autoCompleteObjectField) {
return autoCompleteObjectField.getModelObject().getNameAsString() + " <" + autoCompleteObjectField.getModelObject().getEmailAsString()+">";
private String createNameAndEmailOutput(Employee employee) {
return employee.getNameAsString() + " <" + employee.getEmailAsString()+">";
}
private String createNameAndEmailAutoComplete(Employee employee) {
return employee.getNameAsString() + " &lt;" + employee.getEmailAsString()+"&gt;";
}
private boolean testACInputString(EmployeeAutoComplete autoCompleteObjectField) {
return autoCompleteObjectField.getModelObject() == null ||
autoCompleteObjectField.getInput() == null ||
autoCompleteObjectField.getInput().isEmpty() ||
!autoCompleteObjectField.getInput().equals(createNameAndEmail(autoCompleteObjectField));
!autoCompleteObjectField.getInput().equals(autoCompleteObjectField.getModelObject().getNameAsString());
}
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<ProjectIdea> projectIdeaModel, final Component feedbackPanel,
@ -73,7 +77,7 @@ public class ManualSetReviewerPanel extends Panel {
ProjectIdea projectIdea = projectIdeaModel.getObject();
projectIdea.setSuggestedReviewer(autocompleteReviewerField.getModelObject());
projectIdeaDao.save(projectIdea);
Session.get().info(getInfoMessage(projectIdea.getTitle(), createNameAndEmail(autocompleteReviewerField)));
Session.get().info(getInfoMessage(projectIdea.getTitle(), autocompleteReviewerField.getModelObject()));
setResponsePage(AdminManageProjectIdeaPage.class);
target.addComponent(feedbackPanel);
}
@ -81,7 +85,7 @@ public class ManualSetReviewerPanel extends Panel {
@Override //Listener method invoked on form submit with errors
protected void onError(AjaxRequestTarget target, Form<?> form) {
Session.get().error(getErrorMessage(projectIdeaModel.getObject().getTitle(), autocompleteReviewerField.getModelObject().getNameAsString()));
Session.get().error(getErrorMessage(projectIdeaModel.getObject().getTitle(), autocompleteReviewerField.getModelObject()));
super.onError(target, form);
setResponsePage(AdminManageProjectIdeaPage.class);
target.addComponent(feedbackPanel); // is only activated on "this"
@ -165,13 +169,8 @@ public class ManualSetReviewerPanel extends Panel {
@Override
public void action(AjaxRequestTarget pTarget, Employee newSelection) {
// these checks have already been performed when action is called
// if (newSelection != null) {
// if (pTarget != null) {
saveButton.setMessageContentHTML(getConfirmMessage(newSelection.getNameAsString(), projectIdea.getTitle()));
pTarget.addComponent(saveButton);
// }
// }
saveButton.setMessageContentHTML(getConfirmMessage(newSelection));
pTarget.addComponent(saveButton);
}
};
}
@ -179,31 +178,30 @@ public class ManualSetReviewerPanel extends Panel {
/**
*
* This method is used to return an confirmation message (is shown in a confirmation dialog)
* to the administrator, that the employee really should be suggested as a reviewer for the project idea.
* @param projectIdeaTitle the title of the project idea
* @param reviewerName the name of the suggested reviewer
* to the administrator, that the employee really should be suggested as reviewer for the project idea.
* @param reviewer the suggested reviewer
* @return String the confirmation message
*/
private String getConfirmMessage(final String reviewerName, final String projectIdeaTitle) {
private String getConfirmMessage(final Employee reviewer) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Confirm that you want to suggest ");
stringBuilder.append(reviewerName);
stringBuilder.append(" as a reviewer for the project idea.");
stringBuilder.append(createNameAndEmailAutoComplete(reviewer));
stringBuilder.append(" as reviewer for the project idea.");
return stringBuilder.toString();
}
/**
*
* This method is used to return an information message that the employee was suggested as a reviewer for the project idea.
* This method is used to return an information message that the employee was suggested as reviewer for the project idea.
* @param projectIdeaTitle the title of the project idea
* @param reviewerName the name of the suggested reviewer
* @param reviewer the suggested reviewer
* @return String the information message
*/
private String getInfoMessage(final String projectIdeaTitle, final String reviewerName) {
private String getInfoMessage(final String projectIdeaTitle, final Employee reviewer) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(reviewerName);
stringBuilder.append(" was suggested reviewer for the project idea ");
stringBuilder.append(createNameAndEmailOutput(reviewer));
stringBuilder.append(" was suggested as reviewer for the project idea ");
stringBuilder.append(projectIdeaTitle);
stringBuilder.append(".");
return stringBuilder.toString();
@ -213,13 +211,13 @@ public class ManualSetReviewerPanel extends Panel {
*
* This method is used to return an error message which is shown in case of an unforeseen error.
* @param projectIdeaTitle the title of the project idea
* @param reviewerName the name of the presumed reviewer
* @param reviewer the presumed reviewer
* @return String the error message
*/
private String getErrorMessage(String projectIdeaTitle, String reviewerName) {
private String getErrorMessage(final String projectIdeaTitle, final Employee reviewer) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("An error occurred when suggesting ");
stringBuilder.append(reviewerName);
stringBuilder.append(createNameAndEmailAutoComplete(reviewer));
stringBuilder.append(" as reviewer for the project idea ");
stringBuilder.append(projectIdeaTitle);
stringBuilder.append(".");