Refactor and made ui look the same between pages
Change-Id: I85de91350c8eb11d3e6191c205856011a2404c94
This commit is contained in:
parent
4b7926cfd3
commit
fb77243da1
src/main/java/se/su/dsv/scipro/admin/pages
@ -31,7 +31,7 @@ public abstract class AbstractAdminSettingsPage extends AbstractAdminPage {
|
||||
items.add(new MenuItem("General settings", AdminGeneralSettingsPage.class));
|
||||
items.add(new MenuItem("Final seminar general settings", AdminFinalSeminarSettingsPage.class));
|
||||
items.add(new MenuItem("Final seminar project level settings", AdminFinalSeminarSettingsPerProjectClassPage.class));
|
||||
items.add(new MenuItem("Peer settings", AdminPeerSettingsPage.class, ImageIcon.ICON_SETTINGS));
|
||||
items.add(new MenuItem("Peer settings", AdminPeerSettingsPage.class /*,ImageIcon.ICON_SETTINGS */));
|
||||
return items;
|
||||
}
|
||||
|
||||
|
@ -3,17 +3,29 @@
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:extend>
|
||||
<h3 class="section">Final Seminar Settings</h3>
|
||||
<form wicket:id="maxActiveParticipationForm">
|
||||
<p><label>Set max active participants on a final seminar:</label> <input wicket:id="maxActiveParticipation"
|
||||
type="text" /></p>
|
||||
<p><label>Set days before a final seminar a student can register as an active participant:</label> <input wicket:id="registerAsActive"
|
||||
type="text" /></p>
|
||||
<p><label>Set days before a final seminar a student can register as an opponent:</label> <input wicket:id="registerAsOpponent"
|
||||
type="text" /></p>
|
||||
<p><label>The file format of theses and opposition-reports must be PDF:</label> <input type="checkbox" wicket:id="finalSeminarThesisMustBeAPDF" /></p>
|
||||
<div> <input type="submit" value="Save"
|
||||
name="NoticeSubmit" /></div>
|
||||
<h5 class="peer-title">Final Seminar Settings</h5>
|
||||
<form wicket:id="finalSeminarSettingsForm">
|
||||
<table>
|
||||
<tr>
|
||||
<td><label for="1">Max active participants on a final seminar:</label></td>
|
||||
<td><input name="1" wicket:id="finalSeminarMaxActiveParticipants" type="text" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="2">Minimum number of days before a final seminar a student can register as an active participant:</label></td>
|
||||
<td><input name="2" wicket:id="daysBeforeFinalSeminarCanRegisterAsActiveParticipant" type="text" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="3">Minimum number of days before a final seminar a student can register as an opponent:</label></td>
|
||||
<td><input name="3" wicket:id="daysBeforeFinalSeminarCanRegisterAsOpponent" type="text" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="4">File format of uploaded theses and opposition-reports must be PDF:</label></td>
|
||||
<td><input name="4" type="checkbox" wicket:id="finalSeminarThesisMustBeAPDF" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<button type="submit" ><img src="css/blueprint/plugins/buttons/icons/tick.png" alt=""/> Save changes</button>
|
||||
|
||||
</form>
|
||||
</wicket:extend>
|
||||
</body>
|
||||
|
@ -1,73 +1,50 @@
|
||||
package se.su.dsv.scipro.admin.pages.settings;
|
||||
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
|
||||
import org.apache.wicket.markup.html.form.CheckBox;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.form.RequiredTextField;
|
||||
import org.apache.wicket.markup.html.form.TextField;
|
||||
import org.apache.wicket.model.CompoundPropertyModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
|
||||
import se.su.dsv.scipro.admin.models.SettingsModel;
|
||||
import se.su.dsv.scipro.admin.pages.AbstractAdminSettingsPage;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.GeneralSystemSettingsDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectClassDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectClassSettingsDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.GeneralSystemSettings;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
|
||||
import se.su.dsv.scipro.data.dataobjects.ProjectClassSettings;
|
||||
|
||||
public class AdminFinalSeminarSettingsPage extends AbstractAdminSettingsPage {
|
||||
|
||||
|
||||
@SpringBean
|
||||
private GeneralSystemSettingsDao generalSystemSettingsDao;
|
||||
|
||||
private GeneralSystemSettings settings;
|
||||
|
||||
|
||||
public AdminFinalSeminarSettingsPage(final PageParameters pp){
|
||||
public AdminFinalSeminarSettingsPage(final PageParameters pp) {
|
||||
super(pp);
|
||||
add(new MaxActiveParticipationForm("maxActiveParticipationForm"));
|
||||
|
||||
add(new FinalSeminarSettingsForm(
|
||||
"finalSeminarSettingsForm",
|
||||
new CompoundPropertyModel<GeneralSystemSettings>(generalSystemSettingsDao.getGeneralSystemSettingsInstance())));
|
||||
}
|
||||
|
||||
private class MaxActiveParticipationForm extends Form<SettingsModel> {
|
||||
|
||||
private class FinalSeminarSettingsForm extends Form<GeneralSystemSettings> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public MaxActiveParticipationForm(String id) {
|
||||
super(id, new CompoundPropertyModel<SettingsModel>(
|
||||
new SettingsModel()));
|
||||
settings = generalSystemSettingsDao.getGeneralSystemSettingsInstance();
|
||||
TextField<Integer> activeParticipation = new TextField<Integer>(
|
||||
"maxActiveParticipation");
|
||||
TextField<Integer> registerAsActive = new TextField<Integer>(
|
||||
"registerAsActive");
|
||||
TextField<Integer> registerAsOpponent = new TextField<Integer>(
|
||||
"registerAsOpponent");
|
||||
CheckBox pdfCheckBox = new CheckBox(
|
||||
"finalSeminarThesisMustBeAPDF");
|
||||
SettingsModel settingsModel = ((SettingsModel) getDefaultModelObject());
|
||||
settingsModel.setMaxActiveParticipation(settings.getFinalSeminarMaxActiveParticipants());
|
||||
settingsModel.setRegisterAsActive(settings.getDaysBeforeFinalSeminarCanRegisterAsActiveParticipant());
|
||||
settingsModel.setRegisterAsOpponent(settings.getDaysBeforeFinalSeminarCanRegisterAsOpponent());
|
||||
settingsModel.setFinalSeminarThesisMustBeAPDF(settings.isFinalSeminarThesisMustBeAPDF());
|
||||
public FinalSeminarSettingsForm(String id, IModel<GeneralSystemSettings> model) {
|
||||
super(id, model );
|
||||
TextField<Integer> activeParticipation = new RequiredTextField<Integer>("finalSeminarMaxActiveParticipants");
|
||||
TextField<Integer> registerAsActive = new RequiredTextField<Integer>("daysBeforeFinalSeminarCanRegisterAsActiveParticipant");
|
||||
TextField<Integer> registerAsOpponent = new RequiredTextField<Integer>("daysBeforeFinalSeminarCanRegisterAsOpponent");
|
||||
CheckBox pdfCheckBox = new CheckBox("finalSeminarThesisMustBeAPDF");
|
||||
add(registerAsActive);
|
||||
add(registerAsOpponent);
|
||||
add(activeParticipation);
|
||||
add(pdfCheckBox);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSubmit() {
|
||||
SettingsModel settingsModel = ((SettingsModel) getDefaultModelObject());
|
||||
settings.setFinalSeminarMaxActiveParticipants(settingsModel.getMaxActiveParticipation());
|
||||
settings.setDaysBeforeFinalSeminarCanRegisterAsActiveParticipant(settingsModel.getRegisterAsActive());
|
||||
settings.setDaysBeforeFinalSeminarCanRegisterAsOpponent(settingsModel.getRegisterAsOpponent());
|
||||
settings.setFinalSeminarThesisMustBeAPDF(settingsModel.isFinalSeminarThesisMustBeAPDF());
|
||||
generalSystemSettingsDao.save(settings);
|
||||
setModelObject( generalSystemSettingsDao.save(getModelObject()) );
|
||||
info("Final seminar settings saved");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
<div class="append-bottom">
|
||||
<h5 class="peer-title">Settings for levels</h5>
|
||||
<form wicket:id="peerSettingsForm">
|
||||
<form wicket:id="settingsForm">
|
||||
<ul class="no-list-style">
|
||||
<li wicket:id="projectClassList" class="append-bottom">
|
||||
<h5 wicket:id="projectClassName" class="peer-box-subtitle"></h5>
|
||||
|
@ -23,7 +23,7 @@ public class AdminFinalSeminarSettingsPerProjectClassPage extends AbstractAdminS
|
||||
public AdminFinalSeminarSettingsPerProjectClassPage(final PageParameters pp){
|
||||
super(pp);
|
||||
|
||||
final Form<Void> peerSettingsForm = new Form<Void>("peerSettingsForm"){
|
||||
final Form<Void> settingsForm = new Form<Void>("settingsForm"){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
@ -32,26 +32,26 @@ public class AdminFinalSeminarSettingsPerProjectClassPage extends AbstractAdminS
|
||||
}
|
||||
};
|
||||
|
||||
peerSettingsForm.add(new ListView<ProjectClass>("projectClassList", projectClassDao.findAll()){
|
||||
settingsForm.add(new ListView<ProjectClass>("projectClassList", projectClassDao.findAll()){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void populateItem(ListItem<ProjectClass> item) {
|
||||
item.add(new Label("projectClassName", item.getModelObject().getName()));
|
||||
item.add(new PeerProjectClassSettingsForm("projectClassSettingsForm", item.getModelObject()));
|
||||
item.add(new SettingsPerProjectClassForm("projectClassSettingsForm", item.getModelObject()));
|
||||
add(item);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
peerSettingsForm.add(new Button("submit"));
|
||||
add(peerSettingsForm);
|
||||
settingsForm.add(new Button("submit"));
|
||||
add(settingsForm);
|
||||
}
|
||||
|
||||
private class PeerProjectClassSettingsForm extends Form<ProjectClassSettings> {
|
||||
private class SettingsPerProjectClassForm extends Form<ProjectClassSettings> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public PeerProjectClassSettingsForm(final String id, final ProjectClass projectClass){
|
||||
public SettingsPerProjectClassForm(final String id, final ProjectClass projectClass){
|
||||
super(id, new CompoundPropertyModel<ProjectClassSettings>(projectClass.getProjectClassSettings()));
|
||||
|
||||
TextField<Integer> numDaysBetweenPeerReviewsOnSameProject =
|
||||
|
Loading…
x
Reference in New Issue
Block a user