diff options
author | Jonathan Bauer | 2015-08-11 15:36:45 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-08-11 15:36:45 +0200 |
commit | 53f1e1b9eb6bf23525d88c28a63c52c143777fe5 (patch) | |
tree | 9f48f6bce1e45a4ceece48524b06aeb0aa24bbb6 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page | |
parent | [client] added combo and filter to filter imagelist for editable and own images. (diff) | |
download | tutor-module-53f1e1b9eb6bf23525d88c28a63c52c143777fe5.tar.gz tutor-module-53f1e1b9eb6bf23525d88c28a63c52c143777fe5.tar.xz tutor-module-53f1e1b9eb6bf23525d88c28a63c52c143777fe5.zip |
[client] lecture wizard quasi complete
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page')
2 files changed, 38 insertions, 51 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java index e9eeb3bf..0e1e7465 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java @@ -2,18 +2,18 @@ package org.openslx.dozmod.gui.wizard.page; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; +import javax.swing.JSpinner; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import org.apache.log4j.Logger; +import org.jdatepicker.impl.JDatePickerImpl; +import org.openslx.bwlp.thrift.iface.LecturePermissions; import org.openslx.dozmod.gui.wizard.Wizard; import org.openslx.dozmod.gui.wizard.layout.LectureCreationPageLayout; import org.openslx.dozmod.state.LectureWizardState; @@ -55,23 +55,25 @@ public class LectureCreationPage extends LectureCreationPageLayout { descriptionText.getDocument().addDocumentListener(docListener); // listeners for the date pickers - ActionListener dateListener = new ActionListener() { + final ActionListener actionListener = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { reactToUserInput(); } }; // listeners for the time pickers - ChangeListener timeListener = new ChangeListener() { + final ChangeListener changeListener = new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { reactToUserInput(); } }; - startTime.addChangeListener(timeListener); - endTime.addChangeListener(timeListener); - startDate.addActionListener(dateListener); - endDate.addActionListener(dateListener); + startTime.addChangeListener(changeListener); + endTime.addChangeListener(changeListener); + startDate.addActionListener(actionListener); + endDate.addActionListener(actionListener); + editPermissionsCheck.addActionListener(actionListener); + adminPermissionsCheck.addActionListener(actionListener); } /** * Called by event listeners. This will set guidance message or error @@ -93,9 +95,12 @@ public class LectureCreationPage extends LectureCreationPageLayout { } else { state.description = descriptionText.getText(); } - Date now = new Date(); - Date start = getStartDate(); - Date end = getEndDate(); + // TODO max <sat config> months checks + final Date now = new Date(); + final Date start = getDateFrom(startDate, startTime); + final Date end = getDateFrom(endDate, endTime); + LOGGER.debug(start); + LOGGER.debug(end); if (start.after(end)) { setWarningMessage("Startzeit is nach Endzeit!"); setPageComplete(false); @@ -108,56 +113,36 @@ public class LectureCreationPage extends LectureCreationPageLayout { state.start = start; state.end = end; } - setWarningMessage("Sie können jetzt fortfahren."); + // always save checkboxes if we get this far + state.autoUpdate = autoUpdate.isSelected(); + state.isEnabled = enabledCheck.isSelected(); + state.isExam = examCheck.isSelected(); + state.internetAccess = networkAccessCheck.isSelected(); + state.defaultPermissions = new LecturePermissions(editPermissionsCheck.isSelected(), adminPermissionsCheck.isSelected()); + setWarningMessage("Clicken Sie auf 'Weiter' für Berechtigungen oder 'Fertigstellen'."); setPageComplete(true); } /** - * @return the Date object representing the user's input for the start date + * TODO + * @param datePicker + * @param timeSpinner + * @return */ - private Date getStartDate() { + private Date getDateFrom(JDatePickerImpl datePicker, JSpinner timeSpinner) { // start date from the DatePicker - int years = startDate.getModel().getYear(); - int months = startDate.getModel().getMonth() + 1; - int days = startDate.getModel().getDay(); + int years = datePicker.getModel().getYear(); + int months = datePicker.getModel().getMonth(); + int days = datePicker.getModel().getDay(); // start time from the Spinner - Date starttime = (Date) startTime.getValue(); + Date time = (Date) timeSpinner.getValue(); Calendar cal = Calendar.getInstance(); - cal.setTime(starttime); + cal.setTime(time); int hours = cal.get(Calendar.HOUR_OF_DAY); int minutes = cal.get(Calendar.MINUTE); // build the time from the single values - DateFormat format = new SimpleDateFormat("dd-MM-yyyy kk:mm"); - Date date = null; - try { - date = format.parse(days + "-" + months + "-" + years + " " + hours + ":" + minutes); - } catch (ParseException e) { - LOGGER.error("Parsing error while converting date: ", e); - } - return date; - } - /** - * @return the Date object representing the user's input for the end date - */ - private Date getEndDate() { - // end date from the DatePicker - int years = endDate.getModel().getYear(); - int months = endDate.getModel().getMonth() + 1; - int days = endDate.getModel().getDay(); - // end time from the Spinner - Date endtime = (Date) endTime.getValue(); - Calendar cal = Calendar.getInstance(); - cal.setTime(endtime); - int hours = cal.get(Calendar.HOUR_OF_DAY); - int minutes = cal.get(Calendar.MINUTE); - // build the time from the single values - DateFormat format = new SimpleDateFormat("dd-MM-yyyy kk:mm"); - Date date = null; - try { - date = format.parse(days + "-" + months + "-" + years + " " + hours + ":" + minutes); - } catch (ParseException e) { - LOGGER.error("Parsing error while converting date: ", e); - } + cal.set(years, months, days, hours, minutes); + Date date = cal.getTime(); return date; } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCustomPermissionPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCustomPermissionPage.java index d0c3da06..94bd8f72 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCustomPermissionPage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCustomPermissionPage.java @@ -76,5 +76,7 @@ public class LectureCustomPermissionPage extends LectureCustomPermissionPageLayo permissionTableViewer.setData(permissionList, false); } }); + // no requirements before finishing + setPageComplete(true); } } |