From a06512d03b77963cda63f753fc0de69475c55a9b Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Thu, 27 Apr 2017 19:19:15 +0200
Subject: [PATCH] Fixed #92 , Fixed #87

#92 - increase payment name char limit
#87 - limit char count on payment name in ui
---
 .../ui/NewCategoryController.java             |  6 ++++++
 .../budgetmaster/ui/NewCategoryGUI.fxml       | 19 ++++++++++++++-----
 .../budgetmaster/ui/NewPaymentController.java |  6 ++++++
 .../budgetmaster/ui/NewPaymentGUI.fxml        | 19 ++++++++++++++-----
 .../main/DatabaseCreator.java                 |  4 ++--
 5 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/src/de/deadlocker8/budgetmaster/ui/NewCategoryController.java b/src/de/deadlocker8/budgetmaster/ui/NewCategoryController.java
index 235bf4d99..b38c067cb 100644
--- a/src/de/deadlocker8/budgetmaster/ui/NewCategoryController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/NewCategoryController.java
@@ -135,6 +135,12 @@ public class NewCategoryController
 			return;
 		}
 		
+		if(name.length() > 45)
+		{
+			AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Der Name darf maximal 45 Zeichen lang sein.", controller.getIcon(), controller.getStage(), null, false);
+			return;
+		}
+		
 		if(edit)
 		{
 			category.setName(name);
diff --git a/src/de/deadlocker8/budgetmaster/ui/NewCategoryGUI.fxml b/src/de/deadlocker8/budgetmaster/ui/NewCategoryGUI.fxml
index 9a6736f6a..203d4acb8 100644
--- a/src/de/deadlocker8/budgetmaster/ui/NewCategoryGUI.fxml
+++ b/src/de/deadlocker8/budgetmaster/ui/NewCategoryGUI.fxml
@@ -15,11 +15,20 @@
          <children>
             <HBox alignment="CENTER_LEFT" prefHeight="30.0" prefWidth="465.0">
                <children>
-                  <Label prefHeight="29.0" prefWidth="125.0" text="Name:">
-                     <font>
-                        <Font name="System Bold" size="14.0" />
-                     </font>
-                  </Label>
+                  <VBox>
+                     <children>
+                        <Label prefHeight="29.0" prefWidth="125.0" text="Name:">
+                           <font>
+                              <Font name="System Bold" size="14.0" />
+                           </font>
+                        </Label>
+                        <Label prefHeight="29.0" prefWidth="125.0" text="(max. 45 Zeichen)">
+                           <font>
+                              <Font size="11.0" />
+                           </font>
+                        </Label>
+                     </children>
+                  </VBox>
                   <TextField fx:id="textFieldName" prefHeight="29.0" HBox.hgrow="ALWAYS">
                      <font>
                         <Font size="13.0" />
diff --git a/src/de/deadlocker8/budgetmaster/ui/NewPaymentController.java b/src/de/deadlocker8/budgetmaster/ui/NewPaymentController.java
index 52a55f021..99af745ee 100644
--- a/src/de/deadlocker8/budgetmaster/ui/NewPaymentController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/NewPaymentController.java
@@ -227,6 +227,12 @@ public class NewPaymentController
 			AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Das Feld für den Namen darf nicht leer sein.", controller.getIcon(), controller.getStage(), null, false);
 			return;
 		}
+		
+		if(name.length() > 150)
+		{
+			AlertGenerator.showAlert(AlertType.WARNING, "Warnung", "", "Der Name darf maximal 150 Zeichen lang sein.", controller.getIcon(), controller.getStage(), null, false);
+			return;
+		}
 
 		String amountText = textFieldAmount.getText();
 		if(!amountText.matches("^-?\\d+(,\\d+)*(\\.\\d+(e\\d+)?)?$"))
diff --git a/src/de/deadlocker8/budgetmaster/ui/NewPaymentGUI.fxml b/src/de/deadlocker8/budgetmaster/ui/NewPaymentGUI.fxml
index 9235231a6..31366e41d 100644
--- a/src/de/deadlocker8/budgetmaster/ui/NewPaymentGUI.fxml
+++ b/src/de/deadlocker8/budgetmaster/ui/NewPaymentGUI.fxml
@@ -22,11 +22,20 @@
          <children>
             <HBox alignment="CENTER_LEFT" prefHeight="30.0" prefWidth="465.0">
                <children>
-                  <Label prefHeight="29.0" prefWidth="125.0" text="Name:">
-                     <font>
-                        <Font name="System Bold" size="14.0" />
-                     </font>
-                  </Label>
+                  <VBox>
+                     <children>
+                        <Label prefHeight="29.0" prefWidth="125.0" text="Name:">
+                           <font>
+                              <Font name="System Bold" size="14.0" />
+                           </font>
+                        </Label>
+                        <Label prefHeight="29.0" prefWidth="125.0" text="(max. 150 Zeichen)">
+                           <font>
+                              <Font size="11.0" />
+                           </font>
+                        </Label>
+                     </children>
+                  </VBox>
                   <TextField fx:id="textFieldName" prefHeight="29.0" HBox.hgrow="ALWAYS">
                      <font>
                         <Font size="13.0" />
diff --git a/src/de/deadlocker8/budgetmasterserver/main/DatabaseCreator.java b/src/de/deadlocker8/budgetmasterserver/main/DatabaseCreator.java
index 7a512f12e..90fc9452b 100644
--- a/src/de/deadlocker8/budgetmasterserver/main/DatabaseCreator.java
+++ b/src/de/deadlocker8/budgetmasterserver/main/DatabaseCreator.java
@@ -109,7 +109,7 @@ public class DatabaseCreator
 		Statement stmt = null;
 		String query = "CREATE TABLE `payment` (" +
 					 "`ID` int(11) NOT NULL COMMENT 'ID'," +
-					 "`Name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'payment name (description)'," +
+					 "`Name` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'payment name (description)'," +
 					 "`CategoryID` int(11) DEFAULT NULL COMMENT 'category ID'," +
 					 "`Amount` int(11) DEFAULT NULL COMMENT 'amount in cents'," +
 					 "`Date` date DEFAULT NULL COMMENT 'payment date',"	 +
@@ -190,7 +190,7 @@ public class DatabaseCreator
 		Statement stmt = null;
 		String query = "CREATE TABLE `repeating_payment` (" +
 					  "`ID` int(11) NOT NULL COMMENT 'ID'," +
-					  "`Name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'payment name (description)'," +
+					  "`Name` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'payment name (description)'," +
 					  "`CategoryID` int(11) DEFAULT NULL COMMENT 'category ID'," +
 					  "`Amount` int(11) DEFAULT NULL COMMENT 'amount in cents'," +
 					  "`Date` date DEFAULT NULL COMMENT 'payment date'," +
-- 
GitLab