Made adjustments for the new version of the autocomplete component.
This commit is contained in:
parent
bbd58ee4c9
commit
bf2ae4713a
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.markup.html.panel.Panel;
|
||||||
import org.apache.wicket.model.IModel;
|
import org.apache.wicket.model.IModel;
|
||||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
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.SciProSession;
|
||||||
import se.su.dsv.scipro.admin.pages.match.AdminManageProjectIdeaPage;
|
import se.su.dsv.scipro.admin.pages.match.AdminManageProjectIdeaPage;
|
||||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||||
@ -56,16 +57,19 @@ public class ManualMatchPanel extends Panel {
|
|||||||
add(currentFragment.setOutputMarkupId(true));
|
add(currentFragment.setOutputMarkupId(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String createNameAndEmailOutput(Employee employee) {
|
||||||
private String createNameAndEmail(Employee employee) {
|
|
||||||
return employee.getNameAsString() + " <" + employee.getEmailAsString()+">";
|
return employee.getNameAsString() + " <" + employee.getEmailAsString()+">";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String createNameAndEmailAutoComplete(Employee employee) {
|
||||||
|
return employee.getNameAsString() + " <" + employee.getEmailAsString()+">";
|
||||||
|
}
|
||||||
|
|
||||||
private boolean testACInputString(EmployeeAutoComplete autoCompleteObjectField) {
|
private boolean testACInputString(EmployeeAutoComplete autoCompleteObjectField) {
|
||||||
return autoCompleteObjectField.getModelObject() == null ||
|
return autoCompleteObjectField.getModelObject() == null ||
|
||||||
autoCompleteObjectField.getInput() == null ||
|
autoCompleteObjectField.getInput() == null ||
|
||||||
autoCompleteObjectField.getInput().isEmpty() ||
|
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,
|
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().setSupervisor(autoCompleteObjectField.getModelObject() != null ? autoCompleteObjectField.getModelObject():null);
|
||||||
matchModel.getObject().setStatus(status);
|
matchModel.getObject().setStatus(status);
|
||||||
matchDao.changeStatus(SciProSession.get().getUser(), matchModel.getObject(), null);
|
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);
|
setResponsePage(AdminManageProjectIdeaPage.class);
|
||||||
target.addComponent(feedbackPanel);
|
target.addComponent(feedbackPanel);
|
||||||
}
|
}
|
||||||
@ -197,19 +201,14 @@ public class ManualMatchPanel extends Panel {
|
|||||||
private static final long serialVersionUID = 7734889540424308421L;
|
private static final long serialVersionUID = 7734889540424308421L;
|
||||||
@Override
|
@Override
|
||||||
public void action(AjaxRequestTarget pTarget, Employee newSelection) {
|
public void action(AjaxRequestTarget pTarget, Employee newSelection) {
|
||||||
// these checks have already been performed when action is called
|
final String declineMessage = createDeclineMessage(newSelection, projectIdea, status);
|
||||||
// if (newSelection != null) {
|
if(declineMessage != null && !declineMessage.isEmpty()) {
|
||||||
// if (pTarget != null) {
|
saveButton.setMessageContentHTML(declineMessage);
|
||||||
final String declineMessage = createDeclineMessage(newSelection, projectIdea, status);
|
pTarget.addComponent(saveButton);
|
||||||
if(declineMessage != null && !declineMessage.isEmpty()) {
|
} else {
|
||||||
saveButton.setMessageContentHTML(declineMessage);
|
saveButton.setMessageContentHTML(createConfirmationMessage(newSelection, status));
|
||||||
pTarget.addComponent(saveButton);
|
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 .
|
* 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 projectIdeaTitle the title of the project idea
|
||||||
* @param status the status of the match
|
* @param status the status of the match
|
||||||
* @return String the match message
|
* @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();
|
StringBuilder messageStr = new StringBuilder();
|
||||||
messageStr.append(nameAndEmail != null ? nameAndEmail : "" );
|
messageStr.append(createNameAndEmailOutput(employee));
|
||||||
if(status.equals(Match.Status.CONFIRMED)) {
|
if(status.equals(Match.Status.CONFIRMED)) {
|
||||||
messageStr.append(" was accepted ");
|
messageStr.append(" was accepted ");
|
||||||
} else if (status.equals(Match.Status.PUBLISHED)) {
|
} else if (status.equals(Match.Status.PUBLISHED)) {
|
||||||
messageStr.append(" was suggested ");
|
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(projectIdeaTitle != null ? projectIdeaTitle : "");
|
||||||
messageStr.append(".");
|
messageStr.append(".");
|
||||||
return messageStr.toString();
|
return messageStr.toString();
|
||||||
@ -250,7 +249,7 @@ public class ManualMatchPanel extends Panel {
|
|||||||
StringBuilder stringBuilder = new StringBuilder();
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
if(declineMessage != null && !declineMessage.isEmpty()) {
|
if(declineMessage != null && !declineMessage.isEmpty()) {
|
||||||
stringBuilder.append("The project idea has already been rejected by ");
|
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(". The decline message was: '");
|
||||||
stringBuilder.append(declineMessage);
|
stringBuilder.append(declineMessage);
|
||||||
if(status.equals(Match.Status.CONFIRMED)) {
|
if(status.equals(Match.Status.CONFIRMED)) {
|
||||||
@ -280,7 +279,7 @@ public class ManualMatchPanel extends Panel {
|
|||||||
} else if (status.equals(Match.Status.PUBLISHED)) {
|
} else if (status.equals(Match.Status.PUBLISHED)) {
|
||||||
stringBuilder.append("suggest ");
|
stringBuilder.append("suggest ");
|
||||||
}
|
}
|
||||||
stringBuilder.append(createNameAndEmail(supervisor));
|
stringBuilder.append(createNameAndEmailAutoComplete(supervisor));
|
||||||
stringBuilder.append(" as supervisor for the project idea.");
|
stringBuilder.append(" as supervisor for the project idea.");
|
||||||
return stringBuilder.toString();
|
return stringBuilder.toString();
|
||||||
}
|
}
|
||||||
|
@ -46,16 +46,20 @@ public class ManualSetReviewerPanel extends Panel {
|
|||||||
add(currentFragment);
|
add(currentFragment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String createNameAndEmailOutput(Employee employee) {
|
||||||
private String createNameAndEmail(EmployeeAutoComplete autoCompleteObjectField) {
|
return employee.getNameAsString() + " <" + employee.getEmailAsString()+">";
|
||||||
return autoCompleteObjectField.getModelObject().getNameAsString() + " <" + autoCompleteObjectField.getModelObject().getEmailAsString()+">";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String createNameAndEmailAutoComplete(Employee employee) {
|
||||||
|
return employee.getNameAsString() + " <" + employee.getEmailAsString()+">";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private boolean testACInputString(EmployeeAutoComplete autoCompleteObjectField) {
|
private boolean testACInputString(EmployeeAutoComplete autoCompleteObjectField) {
|
||||||
return autoCompleteObjectField.getModelObject() == null ||
|
return autoCompleteObjectField.getModelObject() == null ||
|
||||||
autoCompleteObjectField.getInput() == null ||
|
autoCompleteObjectField.getInput() == null ||
|
||||||
autoCompleteObjectField.getInput().isEmpty() ||
|
autoCompleteObjectField.getInput().isEmpty() ||
|
||||||
!autoCompleteObjectField.getInput().equals(createNameAndEmail(autoCompleteObjectField));
|
!autoCompleteObjectField.getInput().equals(autoCompleteObjectField.getModelObject().getNameAsString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<ProjectIdea> projectIdeaModel, final Component feedbackPanel,
|
private ConfirmerAjaxSubmitLink createSubmitLink(final IModel<ProjectIdea> projectIdeaModel, final Component feedbackPanel,
|
||||||
@ -73,7 +77,7 @@ public class ManualSetReviewerPanel extends Panel {
|
|||||||
ProjectIdea projectIdea = projectIdeaModel.getObject();
|
ProjectIdea projectIdea = projectIdeaModel.getObject();
|
||||||
projectIdea.setSuggestedReviewer(autocompleteReviewerField.getModelObject());
|
projectIdea.setSuggestedReviewer(autocompleteReviewerField.getModelObject());
|
||||||
projectIdeaDao.save(projectIdea);
|
projectIdeaDao.save(projectIdea);
|
||||||
Session.get().info(getInfoMessage(projectIdea.getTitle(), createNameAndEmail(autocompleteReviewerField)));
|
Session.get().info(getInfoMessage(projectIdea.getTitle(), autocompleteReviewerField.getModelObject()));
|
||||||
setResponsePage(AdminManageProjectIdeaPage.class);
|
setResponsePage(AdminManageProjectIdeaPage.class);
|
||||||
target.addComponent(feedbackPanel);
|
target.addComponent(feedbackPanel);
|
||||||
}
|
}
|
||||||
@ -81,7 +85,7 @@ public class ManualSetReviewerPanel extends Panel {
|
|||||||
|
|
||||||
@Override //Listener method invoked on form submit with errors
|
@Override //Listener method invoked on form submit with errors
|
||||||
protected void onError(AjaxRequestTarget target, Form<?> form) {
|
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);
|
super.onError(target, form);
|
||||||
setResponsePage(AdminManageProjectIdeaPage.class);
|
setResponsePage(AdminManageProjectIdeaPage.class);
|
||||||
target.addComponent(feedbackPanel); // is only activated on "this"
|
target.addComponent(feedbackPanel); // is only activated on "this"
|
||||||
@ -165,13 +169,8 @@ public class ManualSetReviewerPanel extends Panel {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void action(AjaxRequestTarget pTarget, Employee newSelection) {
|
public void action(AjaxRequestTarget pTarget, Employee newSelection) {
|
||||||
// these checks have already been performed when action is called
|
saveButton.setMessageContentHTML(getConfirmMessage(newSelection));
|
||||||
// if (newSelection != null) {
|
pTarget.addComponent(saveButton);
|
||||||
// if (pTarget != null) {
|
|
||||||
saveButton.setMessageContentHTML(getConfirmMessage(newSelection.getNameAsString(), projectIdea.getTitle()));
|
|
||||||
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)
|
* 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.
|
* to the administrator, that the employee really should be suggested as reviewer for the project idea.
|
||||||
* @param projectIdeaTitle the title of the project idea
|
* @param reviewer the suggested reviewer
|
||||||
* @param reviewerName the name of the suggested reviewer
|
|
||||||
* @return String the confirmation message
|
* @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 stringBuilder = new StringBuilder();
|
||||||
stringBuilder.append("Confirm that you want to suggest ");
|
stringBuilder.append("Confirm that you want to suggest ");
|
||||||
stringBuilder.append(reviewerName);
|
stringBuilder.append(createNameAndEmailAutoComplete(reviewer));
|
||||||
stringBuilder.append(" as a reviewer for the project idea.");
|
stringBuilder.append(" as reviewer for the project idea.");
|
||||||
return stringBuilder.toString();
|
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 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
|
* @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 stringBuilder = new StringBuilder();
|
||||||
stringBuilder.append(reviewerName);
|
stringBuilder.append(createNameAndEmailOutput(reviewer));
|
||||||
stringBuilder.append(" was suggested reviewer for the project idea ");
|
stringBuilder.append(" was suggested as reviewer for the project idea ");
|
||||||
stringBuilder.append(projectIdeaTitle);
|
stringBuilder.append(projectIdeaTitle);
|
||||||
stringBuilder.append(".");
|
stringBuilder.append(".");
|
||||||
return stringBuilder.toString();
|
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.
|
* 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 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
|
* @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 stringBuilder = new StringBuilder();
|
||||||
stringBuilder.append("An error occurred when suggesting ");
|
stringBuilder.append("An error occurred when suggesting ");
|
||||||
stringBuilder.append(reviewerName);
|
stringBuilder.append(createNameAndEmailAutoComplete(reviewer));
|
||||||
stringBuilder.append(" as reviewer for the project idea ");
|
stringBuilder.append(" as reviewer for the project idea ");
|
||||||
stringBuilder.append(projectIdeaTitle);
|
stringBuilder.append(projectIdeaTitle);
|
||||||
stringBuilder.append(".");
|
stringBuilder.append(".");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user