supervisors can now be choosen independent of target values and languages and emaladresses are shown after the name in autocomplete. Also fixed 2 bugs, 1 with inactive supervisors and 1 with supervisor start page showing the wrong prject ideas

This commit is contained in:
FredrikNorberg 2012-02-14 14:17:44 +01:00
parent ffb3727a42
commit 6299ce3b8e
6 changed files with 19 additions and 8 deletions

@ -171,12 +171,17 @@ public class GreedyMatchingAlgorithm implements MatchingAlgorithm {
*/
private boolean isPossibleSupervisor(ProjectIdea projectIdea, Employee supervisor) {
boolean notSame = true;
boolean active = true;
for (Student s : projectIdea.getAuthors()){
if (s.getUser().equals(supervisor.getUser())){
notSame = false;
}
if(supervisor.isDeleted()){
active = false;
}
return isCompatibleLanguage(projectIdea, supervisor) && isNotRejectedBySupervisor(projectIdea, supervisor) && notSame;
}
return isCompatibleLanguage(projectIdea, supervisor) && isNotRejectedBySupervisor(projectIdea, supervisor) && notSame && active;
}
/**

@ -20,7 +20,7 @@ public interface SupervisorDao extends QueryableDao<Employee, SupervisorDaoParam
Set<Language> languages);
List<Employee> getAutoCompleteCapableSupervisors(
final ProjectClass projectClass, final Set<Language> languages, final String searchString, int limit);
/*final ProjectClass projectClass, final Set<Language> languages,*/ final String searchString, int limit);
Employee getOrCreate(User user);

@ -97,10 +97,10 @@ SupervisorDao {
}
public List<Employee> getAutoCompleteCapableSupervisors(
final ProjectClass projectClass, final Set<Language> languages,
/*final ProjectClass projectClass, final Set<Language> languages,*/
final String searchString, final int limit) {
return getJpaTemplate().execute(
new QuerySet().projectClass(projectClass).languages(languages)
new QuerySet()/*.projectClass(projectClass).languages(languages)*/
.nameLike(searchString).orderByUser().limit(limit)
.fetchCallback());
}

@ -50,7 +50,7 @@ public class ProjectIdeaDataProvider extends SortableDataProvider<ProjectIdea>{
itr = ((ProjectIdeaDao) getDao()).findProjectIdeas(params).iterator();
if(params.getStatuses() != null){
if(params.getStatuses().contains(Match.Status.PUBLISHED) && params.getStatuses().size() == 1){
if(params.getStatuses().contains(Match.Status.PUBLISHED) && params.getStatuses().size() == 1 && params.getSupervisor() == null){
itr = ((ProjectIdeaDao) getDao()).findTopWaitingProjects(params).iterator();
}
}

@ -17,6 +17,7 @@ import org.wicketstuff.objectautocomplete.ObjectReadOnlyRenderer;
import se.su.dsv.scipro.data.dao.interfaces.RoleDao;
import se.su.dsv.scipro.data.dataobjects.Student;
import se.su.dsv.scipro.match.dao.interfaces.AuthorDao;
import se.su.dsv.scipro.util.AutoCompleteStringFormatter;
public class PartnerAdditionPanel extends Panel {
private static final long serialVersionUID = 1L;
@ -61,7 +62,7 @@ public class PartnerAdditionPanel extends Panel {
@Override
protected String getTextValue(Student s){
return s.getUser().toString();
return AutoCompleteStringFormatter.formatString(s.getUser());
}
};

@ -53,6 +53,7 @@ import se.su.dsv.scipro.match.facade.ApplicationPeriodFacade;
import se.su.dsv.scipro.match.facade.KeywordProvidingProxy;
import se.su.dsv.scipro.match.facade.LanguageProvidingProxy;
import se.su.dsv.scipro.project.pages.ProjectIdeaPage;
import se.su.dsv.scipro.util.AutoCompleteStringFormatter;
/**
*
@ -441,7 +442,10 @@ public class ProjectIdeaSubmissionPanel extends Panel {
@Override
public Iterator<Employee> getChoices(String input) {
return supervisorDao.getAutoCompleteCapableSupervisors(projectClassModel.getObject(), languageSelectionPanel.getSelectedLanguages(), input, 6).iterator();}
input = input.replace("ö", "ö");
input = input.replace("Ã¥", "å");
input = input.replace("ä", "ä");
return supervisorDao.getAutoCompleteCapableSupervisors(/*projectClassModel.getObject(), languageSelectionPanel.getSelectedLanguages(),*/ input, 6).iterator();}
};
@ -454,7 +458,8 @@ public class ProjectIdeaSubmissionPanel extends Panel {
if(e.getUser().equals(u)){
return "";
}else{
return e.getUser().toString();
return AutoCompleteStringFormatter.formatString(e.getUser());
}
}
@Override