diff options
| author | Tharre <tharre3@gmail.com> | 2018-06-18 00:24:23 +0200 | 
|---|---|---|
| committer | Tharre <tharre3@gmail.com> | 2018-06-18 00:25:35 +0200 | 
| commit | afcb90bbe5ad5bdf72895f3d956993872d0031a5 (patch) | |
| tree | 9c1daa2fa56fd6593fcdfb1d23a538415bccd68b /src | |
| parent | 667a6b2be272ff4d8806d37c62c9846af6359e8c (diff) | |
| download | sepm-groupproject-afcb90bbe5ad5bdf72895f3d956993872d0031a5.tar.gz sepm-groupproject-afcb90bbe5ad5bdf72895f3d956993872d0031a5.tar.xz sepm-groupproject-afcb90bbe5ad5bdf72895f3d956993872d0031a5.zip | |
Add requestVehicle button OperationDetails #24981
Diffstat (limited to 'src')
7 files changed, 53 insertions, 6 deletions
| diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java index a4df90b..0734820 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java @@ -200,7 +200,7 @@ public class CreateCarController {              for (Vehicle vehicle : vehicles) {                  VehiclePaneController controller = VehiclePaneController.createVehiclePane(); -                controller.setData(vehicle, false); +                controller.setData(vehicle, false, false);                  controller                          .getRootElement()                          .setOnMouseClicked( diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateOperationController.java index c3eb32b..19ed7bf 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateOperationController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateOperationController.java @@ -111,7 +111,7 @@ public class CreateOperationController {              for (Vehicle vehicle : vehicles) {                  VehiclePaneController controller = VehiclePaneController.createVehiclePane(); -                controller.setData(vehicle, true); +                controller.setData(vehicle, true, false);                  controller                          .getRootElement()                          .setOnMouseClicked( diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/DetailArchiveOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/DetailArchiveOperationController.java index 256fd4b..41bd2a6 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/DetailArchiveOperationController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/DetailArchiveOperationController.java @@ -51,7 +51,7 @@ public class DetailArchiveOperationController {          VehiclePaneController controller;          try {              controller = VehiclePaneController.createVehiclePane(); -            controller.setData(vehicle, false); +            controller.setData(vehicle, false, false);              vBoxVehicle.getChildren().add(controller.getRootElement());          } catch (IOException e) {              LOG.error("IOException in set(Vehicle). (vBoxVehicle) ", e); diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java index dc8d0fb..86c4de7 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java @@ -11,10 +11,12 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationService;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService;  import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException;  import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;  import java.io.IOException;  import java.util.Collection;  import java.util.EnumSet; +import java.util.Set;  import java.util.stream.Collectors;  import javafx.collections.FXCollections;  import javafx.fxml.FXML; @@ -73,7 +75,8 @@ public class OperationDetailsController {              fpVehicles.getChildren().clear();              for (Vehicle vehicle : operation.vehicles()) {                  VehiclePaneController controller = VehiclePaneController.createVehiclePane(); -                controller.setData(vehicle, true); +                controller.setData(vehicle, true, true); +                controller.getBtnRequest().setOnAction(e -> requestVehicleClicked(controller));                  fpVehicles.getChildren().add(controller.getRootElement());              }          } catch (IOException e) { @@ -142,6 +145,20 @@ public class OperationDetailsController {          createOperationController.updateList();      } +    private void requestVehicleClicked(VehiclePaneController v) { +        LOG.debug("Button \"Nachfordern\" clicked."); + +        try { +            operationService.requestVehicles(operation.id(), Set.of(v.getData().id())); +        } catch (ServiceException | InvalidOperationException | InvalidVehicleException e) { +            LOG.error("Exception in requestVehicleClicked()", e); +            showServiceExceptionAlertAndWait(e.getMessage()); +            return; +        } +        showSuccessAlertAndWait("Das Fahrzeug wurde erfolgreich angefordert"); +        createOperationController.updateList(); +    } +      public void closeWindow() {          LOG.debug("Hyperlink \"Zurück\" clicked.");          operationDetailsAP.setVisible(false); diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java index dd4ff92..76f31b3 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java @@ -168,7 +168,7 @@ public class RegistrationWindowController {                  anyMatch = true;                  VehiclePaneController vp = VehiclePaneController.createVehiclePane(); -                vp.setData(vehicle, false); +                vp.setData(vehicle, false, false);                  vbVehicles.getChildren().add(vp.getRootElement());                  vp.getRootElement() diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/VehiclePaneController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/VehiclePaneController.java index ed6e1a6..b31228d 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/VehiclePaneController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/VehiclePaneController.java @@ -11,6 +11,7 @@ import java.util.Optional;  import javafx.fxml.FXML;  import javafx.fxml.FXMLLoader;  import javafx.scene.Node; +import javafx.scene.control.Button;  import javafx.scene.control.Label;  import javafx.scene.image.Image;  import javafx.scene.image.ImageView; @@ -36,6 +37,7 @@ public class VehiclePaneController extends CustomListItemController {      @FXML private ImageView ivQualification;      @FXML private Text txtQualification;      @FXML private Text txtRooftype; +    @FXML private Button btnRequest;      private Vehicle data; @@ -50,7 +52,7 @@ public class VehiclePaneController extends CustomListItemController {       * @param showStatusInfo If true, the highest qualification of the vehicle's active registration       *     and the vehicle's status will be shown.       */ -    public void setData(Vehicle vehicle, boolean showStatusInfo) { +    public void setData(Vehicle vehicle, boolean showStatusInfo, boolean showRequestVehicle) {          txtType.setText(vehicle.type().name());          String constrType = vehicle.constructionType().name();          txtRooftype.setText( @@ -63,6 +65,15 @@ public class VehiclePaneController extends CustomListItemController {              ivNEF.setImage(new Image("images/NotNEF.png"));              txtNEF.setText("keine NEF-Halterung");          } + +        if (showRequestVehicle) { +            btnRequest.setVisible(true); +            btnRequest.setManaged(true); +        } else { +            btnRequest.setVisible(false); +            btnRequest.setManaged(false); +        } +          if (showStatusInfo) {              txtStatus.setText(vehicle.status().name());              if (vehicle.status() == Status.FREI_FUNK || vehicle.status() == Status.FREI_WACHE) { @@ -100,4 +111,8 @@ public class VehiclePaneController extends CustomListItemController {          this.data = vehicle;      } + +    public Button getBtnRequest() { +        return btnRequest; +    }  } diff --git a/src/main/resources/fxml/vehiclePane.fxml b/src/main/resources/fxml/vehiclePane.fxml index 1cedb7c..5a47181 100644 --- a/src/main/resources/fxml/vehiclePane.fxml +++ b/src/main/resources/fxml/vehiclePane.fxml @@ -1,11 +1,15 @@  <?xml version="1.0" encoding="UTF-8"?> +<?import java.lang.String?>  <?import javafx.geometry.Insets?> +<?import javafx.scene.control.Button?> +<?import javafx.scene.control.Label?>  <?import javafx.scene.image.Image?>  <?import javafx.scene.image.ImageView?>  <?import javafx.scene.layout.ColumnConstraints?>  <?import javafx.scene.layout.GridPane?>  <?import javafx.scene.layout.RowConstraints?> +<?import javafx.scene.layout.VBox?>  <?import javafx.scene.text.Font?>  <?import javafx.scene.text.Text?>  <?import javafx.scene.text.TextFlow?> @@ -94,4 +98,15 @@        <Insets topRightBottomLeft="3"/>      </padding>    </Label> +   <VBox alignment="CENTER_RIGHT" GridPane.columnIndex="3" GridPane.rowIndex="2"> +      <children> +         <Button fx:id="btnRequest" alignment="CENTER" mnemonicParsing="false" prefWidth="100.0" text="Nachfordern"> +            <styleClass> +               <String fx:value="text-medium" /> +               <String fx:value="button" /> +               <String fx:value="button-main" /> +            </styleClass> +         </Button> +      </children> +   </VBox>  </GridPane> | 
