The AC component should hold the same model value as the AC components input text field.

This commit is contained in:
Tom Vahlman 2012-03-22 15:36:40 +01:00
parent 24980d0213
commit 7b88eb5982
2 changed files with 13 additions and 9 deletions
src/main/java/se/su/dsv/scipro/admin/panels

@ -66,8 +66,11 @@ public class ManualMatchPanel extends Panel {
private static final long serialVersionUID = -1820883998549197409L;
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
if(autoCompleteObjectField.getModelObject() == null) {
Session.get().info("No match could be created because no supervisor was selected.");
if(autoCompleteObjectField.getModelObject() == null ||
autoCompleteObjectField.getInput() == null ||
autoCompleteObjectField.getInput().isEmpty() ||
!autoCompleteObjectField.getInput().equals(autoCompleteObjectField.getModelObject().getNameAsString())) {
Session.get().error("No match could be created because the data was invalid.");
target.addComponent(localFeedback);
} else {
matchModel.getObject().setSupervisor(autoCompleteObjectField.getModelObject() != null ? autoCompleteObjectField.getModelObject():null);

@ -36,12 +36,12 @@ public class ManualSetReviewerPanel extends Panel {
public ManualSetReviewerPanel(String id, IModel<ProjectIdea> projectIdeaModel, Component feedbackPanel) {
super(id);
setOutputMarkupPlaceholderTag(true);
Component localFeedback = new FeedbackPanel("localFeedback");
AutoCompleteObjectField<Employee, Long> autocompleteReviewerField = createDsvAutocompleteComponent(projectIdeaModel.getObject());
autocompleteReviewerField.setOutputMarkupId(true);
saveButton = createSubmitLink(projectIdeaModel, feedbackPanel, localFeedback, autocompleteReviewerField);
saveButton.setOutputMarkupId(true);
autocompleteReviewerField.setOutputMarkupId(true);
setOutputMarkupPlaceholderTag(true);
Form<Employee> reviewerForm = new Form<Employee>("reviewerForm");
currentFragment = createButtonFragment(reviewerForm, autocompleteReviewerField);
alternateFragment = createReviewerFragment(reviewerForm, localFeedback, autocompleteReviewerField );
@ -56,8 +56,11 @@ public class ManualSetReviewerPanel extends Panel {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
if(autocompleteReviewerField.getModelObject() == null) {
Session.get().info("No reviewer could be selected because the data was incorrect.");
if(autocompleteReviewerField.getModelObject() == null ||
autocompleteReviewerField.getInput() == null ||
autocompleteReviewerField.getInput().isEmpty() ||
!autocompleteReviewerField.getInput().equals(autocompleteReviewerField.getModelObject().getNameAsString())) {
Session.get().error("No reviewer could be selected because the data was invalid.");
target.addComponent(localFeedback);
} else {
ProjectIdea projectIdea = projectIdeaModel.getObject();
@ -71,7 +74,7 @@ public class ManualSetReviewerPanel extends Panel {
@Override //Listener method invoked on form submit with errors
protected void onError(AjaxRequestTarget target, Form<?> form) {
error(getErrorMessage(projectIdeaModel.getObject().getTitle(), autocompleteReviewerField.getModelObject().getNameAsString()));
Session.get().error(getErrorMessage(projectIdeaModel.getObject().getTitle(), autocompleteReviewerField.getModelObject().getNameAsString()));
super.onError(target, form);
setResponsePage(AdminManageProjectIdeaPage.class);
target.addComponent(feedbackPanel); // is only activated on "this"
@ -92,9 +95,7 @@ public class ManualSetReviewerPanel extends Panel {
}
};
buttonFragment.add(new AjaxFallbackLink<Object>("manualSetReviewerButton") {
private static final long serialVersionUID = 5843396419011530582L;
@Override
public void onClick(AjaxRequestTarget target) {
swapAndAddToTarget(target, autocompleteReviewerField);