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:
parent
ffb3727a42
commit
6299ce3b8e
src/main/java/se/su/dsv/scipro
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user