adding programs to newideaparticipation and student idea submission

This commit is contained in:
fred-fri 2013-10-08 10:39:44 +09:00
parent 5a763feb39
commit cff4f59c4c
4 changed files with 40 additions and 0 deletions
core/src/main/java/se/su/dsv/scipro/match/dataobject
resources/db_update_scripts
view/src/main/java/se/su/dsv/scipro/project/panels

@ -1,6 +1,7 @@
package se.su.dsv.scipro.match.dataobject;
import com.mysema.query.annotations.QueryInit;
import se.su.dsv.scipro.data.dataobjects.Program;
import se.su.dsv.scipro.data.dataobjects.Student;
import se.su.dsv.scipro.data.dataobjects.User;
@ -46,6 +47,17 @@ public class NewIdeaParticipation implements Serializable {
@NotNull
private Date dateCreated;
@ManyToOne(optional = true)
private Program program = null;
public Program getProgram() {
return program;
}
public void setProgram(Program program) {
this.program = program;
}
public Long getId() {
return id;
}

@ -89,3 +89,5 @@ CREATE TABLE `role_Program` (
CONSTRAINT `FK_90cvbm5wx89wvlqnkq3vusner` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`),
CONSTRAINT `FK_i1i38rcos28p2hu4xgel3ftcw` FOREIGN KEY (`programs_id`) REFERENCES `Program` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `newidea_student` ADD `program_id` bigint(20) DEFAULT NULL, ADD KEY `FK_c5py593l4g261jdkuvwdmcmgj` (`program_id`);

@ -39,6 +39,13 @@
</div>
</div>
<div class="row">
<div class="col-md-12">
<h4>Program: </h4>
<select wicket:id="programDropDown"></select>
</div>
</div>
<div class="row">
<div class="col-md-4">
<h5>Title:</h5>

@ -21,6 +21,7 @@ import org.apache.wicket.model.util.ListModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.wicket.validation.validator.StringValidator;
import org.odlabs.wiquery.ui.dialog.Dialog;
import se.su.dsv.scipro.SciProSession;
import se.su.dsv.scipro.components.DialogPlus;
import se.su.dsv.scipro.data.dataobjects.*;
import se.su.dsv.scipro.icons.HelpIconDialog;
@ -100,10 +101,12 @@ public class ProjectNewIdeaSubmissionPanel extends Panel {
private int whatChar, whyChar, theoryChar, practChar;
private SelectKeywordsBasedOnResearchAreaPanel keywordsPanel;
private NewPartnerAdditionPanel coAuthorPanel;
private DropDownChoice<Program> programDropDownChoice;
public IdeaForm(String id, IModel<NewIdea> model, Student creator, final boolean isNewIdea) {
super(id, model);
addLevelSelection(model);
addProgramSelection();
addLanguageSelection(model);
addPartnerSelection(model);
addTitleField(model);
@ -135,6 +138,22 @@ public class ProjectNewIdeaSubmissionPanel extends Panel {
add(new HelpIconDialog("levelInfo", "languageMarkup", this, "Level info", 430));
}
private void addProgramSelection(){
Student s = studentService.findByUser(SciProSession.get().getUser());
add(programDropDownChoice = new DropDownChoice<Program>("programDropDown", new Model<Program>(), new ArrayList<Program>(s.getPrograms()), new IChoiceRenderer<Program>() {
@Override
public Object getDisplayValue(Program object) {
return object.getName();
}
@Override
public String getIdValue(Program object, int index) {
return Long.toString(object.getId());
}
}));
}
private void addLanguageSelection(IModel<NewIdea> model) {
RadioChoice<Language> language = new RadioChoice<Language>("language", new PropertyModel<Language>(model.getObject(), "language"), languageService.listAll());
language.setRequired(true);