Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
3b0ab5b1ae
resources/db_update_scripts
src/main/java/se/su/dsv/scipro
@ -1,12 +0,0 @@
|
||||
CREATE TABLE IF NOT EXISTS `Employee_countActiveFromDates` (
|
||||
`Employee_id` bigint(20) NOT NULL,
|
||||
`countActiveFromDates` datetime DEFAULT NULL,
|
||||
`countActiveFromDates_KEY` bigint(20) NOT NULL,
|
||||
PRIMARY KEY (`Employee_id`,`countActiveFromDates_KEY`),
|
||||
KEY `FK5183E457A4585B4A` (`countActiveFromDates_KEY`),
|
||||
KEY `FK5183E4575FCBC05F` (`Employee_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
ALTER TABLE `Employee_countActiveFromDates`
|
||||
ADD CONSTRAINT `FK5183E4575FCBC05F` FOREIGN KEY (`Employee_id`) REFERENCES `role` (`id`),
|
||||
ADD CONSTRAINT `FK5183E457A4585B4A` FOREIGN KEY (`countActiveFromDates_KEY`) REFERENCES `project_class` (`id`);
|
12
resources/db_update_scripts/update_db_2012-02-13.sql
Normal file
12
resources/db_update_scripts/update_db_2012-02-13.sql
Normal file
@ -0,0 +1,12 @@
|
||||
CREATE TABLE IF NOT EXISTS `Employee_countActiveFromDates` (
|
||||
`Employee_id` bigint(20) NOT NULL,
|
||||
`countActiveFromDates` datetime DEFAULT NULL,
|
||||
`countActiveFromDates_KEY` bigint(20) NOT NULL,
|
||||
PRIMARY KEY (`Employee_id`,`countActiveFromDates_KEY`),
|
||||
KEY `FK5183E457A4585B4A` (`countActiveFromDates_KEY`),
|
||||
KEY `FK5183E4575FCBC05F` (`Employee_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
ALTER TABLE `Employee_countActiveFromDates`
|
||||
ADD CONSTRAINT `FK5183E4575FCBC05F` FOREIGN KEY (`Employee_id`) REFERENCES `role` (`id`),
|
||||
ADD CONSTRAINT `FK5183E457A4585B4A` FOREIGN KEY (`countActiveFromDates_KEY`) REFERENCES `project_class` (`id`);
|
@ -10,8 +10,8 @@
|
||||
<table class="rounded-corner">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="rounded-left-top">Start date</th>
|
||||
<th>End date</th>
|
||||
<th class="rounded-left-top">Start</th>
|
||||
<th>End</th>
|
||||
<th>Project types</th>
|
||||
<th>Name</th>
|
||||
<th>Edit</th>
|
||||
|
@ -87,8 +87,8 @@ public class AdminMatchPeriodsPanel extends Panel {
|
||||
@Override
|
||||
protected void populateItem(final Item<ApplicationPeriod> item) {
|
||||
final ApplicationPeriod appPeriod = item.getModelObject();
|
||||
item.add(new DateFormatter(DateFormatter.FORMAT.DEFAULT).createFormattedDateLabel("startDate", appPeriod.getStartDate()));
|
||||
item.add(new DateFormatter(DateFormatter.FORMAT.DEFAULT).createFormattedDateLabel("endDate", appPeriod.getEndDate()));
|
||||
item.add(new DateFormatter(DateFormatter.FORMAT.EXTENDED).createFormattedDateLabel("startDate", appPeriod.getStartDate()));
|
||||
item.add(new DateFormatter(DateFormatter.FORMAT.EXTENDED).createFormattedDateLabel("endDate", appPeriod.getEndDate()));
|
||||
item.add(new Label("type",appPeriod.getProjectClass().toString()));
|
||||
item.add(new Label("name",appPeriod.getName()));
|
||||
final AjaxLink<Void> editLink = new AjaxLink<Void>("editLink"){
|
||||
|
@ -11,6 +11,7 @@ import org.springframework.stereotype.Component;
|
||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||
import se.su.dsv.scipro.data.dataobjects.Language;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||
import se.su.dsv.scipro.match.Matcher.Result;
|
||||
import se.su.dsv.scipro.match.dataobject.Availability;
|
||||
import se.su.dsv.scipro.match.dataobject.Keyword;
|
||||
@ -162,13 +163,20 @@ public class GreedyMatchingAlgorithm implements MatchingAlgorithm {
|
||||
|
||||
/**
|
||||
* Returns if it is possible for the supervisor to work with this project idea based on
|
||||
* language and if the idea has previously been rejected by the supervisor
|
||||
* language and if the idea has previously been rejected by the supervisor and if the
|
||||
* supervisor is the same as any of the authors
|
||||
* @param projectIdea the project idea
|
||||
* @param supervisor the supervisor
|
||||
* @return boolean
|
||||
*/
|
||||
private boolean isPossibleSupervisor(ProjectIdea projectIdea, Employee supervisor) {
|
||||
return isCompatibleLanguage(projectIdea, supervisor) && isNotRejectedBySupervisor(projectIdea, supervisor);
|
||||
boolean notSame = true;
|
||||
for (Student s : projectIdea.getAuthors()){
|
||||
if (s.getUser().equals(supervisor.getUser())){
|
||||
notSame = false;
|
||||
}
|
||||
}
|
||||
return isCompatibleLanguage(projectIdea, supervisor) && isNotRejectedBySupervisor(projectIdea, supervisor) && notSame;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -47,6 +47,7 @@ import se.su.dsv.scipro.match.dao.interfaces.AuthorDao;
|
||||
import se.su.dsv.scipro.match.dao.interfaces.ExemptionDao;
|
||||
import se.su.dsv.scipro.match.dao.interfaces.SupervisorDao;
|
||||
import se.su.dsv.scipro.match.dataobject.Keywords;
|
||||
import se.su.dsv.scipro.match.dataobject.Match;
|
||||
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
|
||||
import se.su.dsv.scipro.match.facade.ApplicationPeriodFacade;
|
||||
import se.su.dsv.scipro.match.facade.KeywordProvidingProxy;
|
||||
@ -496,12 +497,12 @@ public class ProjectIdeaSubmissionPanel extends Panel {
|
||||
}
|
||||
|
||||
/**
|
||||
* A project idea is editable if an open application period exists AND the idea creator is the logged in user.
|
||||
* A project idea is editable if the following conditions are met.
|
||||
* @return boolean
|
||||
*/
|
||||
private boolean isEditable() {
|
||||
return ((ideaModel.getObject() != null && ideaModel.getObject().getId() == null) ||
|
||||
facade.openApplicationPeriodsExists(ideaModel.getObject().getProjectClass()) && isCreator());
|
||||
// return ((ideaModel.getObject() != null && ideaModel.getObject().getId() == null) || facade.openApplicationPeriodsExists(ideaModel.getObject().getProjectClass()) && isCreator());
|
||||
return ((ideaModel.getObject() != null && ideaModel.getObject().getId() == null) || ideaModel.getObject().getMatch().getStatus().equals(Match.Status.REFUSED) && isCreator());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -15,6 +15,7 @@ import se.su.dsv.scipro.data.enums.StateOfMind;
|
||||
import se.su.dsv.scipro.data.facade.ProjectFacade;
|
||||
import se.su.dsv.scipro.icons.ImageIcon;
|
||||
import se.su.dsv.scipro.supervisor.pages.SupervisorProjectDetailsPage;
|
||||
import se.su.dsv.scipro.util.DateFormatter;
|
||||
/**
|
||||
*
|
||||
* @author Martin Peters - mpeters@dsv.su.se
|
||||
@ -64,6 +65,8 @@ public abstract class AbstractSupervisorDataView extends DataView<Project>{
|
||||
|
||||
|
||||
item.add(new Label("class", project.getProjectClass().getName() ));
|
||||
|
||||
item.add(new DateFormatter(DateFormatter.FORMAT.DEFAULT).createFormattedDateLabel("startDate", project.getDateCreated()));
|
||||
|
||||
Label title = new Label("title", getProjectTitleString(project));
|
||||
PageParameters pp = new PageParameters(Project.PP_PROJECT_ID + "=" +project.getId());
|
||||
|
@ -20,6 +20,7 @@
|
||||
<th class="rounded-left-top"><a href="#" wicket:id="stateOfMindSort"><span wicket:id="stateOfMindLabel">Project state</span></a></th>
|
||||
<th><a href="#" wicket:id="projectClassSort"><span wicket:id="projectClassLabel">Level</span></a></th>
|
||||
<th><a href="#" wicket:id="titleSort"><span wicket:id="titleLabel">Title</span></a></th>
|
||||
<th><a href="#" wicket:id="dateCreatedSort"><span wicket:id="dateCreatedLabel">Title</span></a></th>
|
||||
<th>Author(s)</th>
|
||||
<th class="rounded-right-top">Role</th>
|
||||
</tr>
|
||||
@ -37,6 +38,7 @@
|
||||
<td wicket:id="class"></td>
|
||||
<td><a href=# wicket:id="projectDetailsLink"><span
|
||||
wicket:id="title">[Project link]</span></a></td>
|
||||
<td wicket:id="startDate"></td>
|
||||
<td wicket:id="authors"></td>
|
||||
<td wicket:id="role">Other role</td>
|
||||
</tr>
|
||||
|
@ -91,10 +91,12 @@ public class SupervisorProjectsOverviewPanel extends Panel {
|
||||
sortFields.add("stateOfMind");
|
||||
sortFields.add("projectClass");
|
||||
sortFields.add("title");
|
||||
sortFields.add("dateCreated");
|
||||
final HashMap<String, String> headerMap = new HashMap<String,String>();
|
||||
headerMap.put("stateOfMind","Project state");
|
||||
headerMap.put("projectClass", "Level");
|
||||
headerMap.put("title", "Title");
|
||||
headerMap.put("dateCreated", "Date created");
|
||||
for(final SortSpecifier spec : dataProvider.getAvailableSortSpecifiers(sortFields)){
|
||||
final String fieldBaseName = spec.getFieldName();
|
||||
final Link<Void> link = new Link<Void>(fieldBaseName+"Sort"){
|
||||
|
Loading…
x
Reference in New Issue
Block a user