Commits

Christian Specht committed 2f70e49

prevent the user from entering empty/invalid settings

Comments (0)

Files changed (4)

src/BitbucketBackup/Config.cs

 using System;
+using System.IO;
 using BitbucketBackup.Properties;
 
 namespace BitbucketBackup
             }
             private set
             {
+                if (value == string.Empty)
+                {
+                    throw new ClientException(Resources.InputPasswordInvalid, null);
+                }
+
                 Settings.Default.PassWord = StringEncryptor.Encrypt(value);
                 Settings.Default.Save();
             }
             }
             private set
             {
+                if (value == string.Empty)
+                {
+                    throw new ClientException(Resources.InputUserInvalid, null);
+                }
+
                 Settings.Default.UserName = value;
                 Settings.Default.Save();
             }
             }
             private set
             {
+                if (value == string.Empty || !Directory.Exists(value))
+                {
+                    throw new ClientException(Resources.InputBackupFolderInvalid, null);
+                }
+
                 Settings.Default.BackupFolder = value;
                 Settings.Default.Save();
             }

src/BitbucketBackup/Resources.Designer.cs

         }
         
         /// <summary>
-        ///   Sucht eine lokalisierte Zeichenfolge, die Local backup folder: ähnelt.
+        ///   Sucht eine lokalisierte Zeichenfolge, die Local backup folder (must already exist): ähnelt.
         /// </summary>
         internal static string InputBackupFolder {
             get {
         }
         
         /// <summary>
+        ///   Sucht eine lokalisierte Zeichenfolge, die You didn&apos;t enter a backup folder (or an invalid one)! ähnelt.
+        /// </summary>
+        internal static string InputBackupFolderInvalid {
+            get {
+                return ResourceManager.GetString("InputBackupFolderInvalid", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Sucht eine lokalisierte Zeichenfolge, die Your Bitbucket password: ähnelt.
         /// </summary>
         internal static string InputPassword {
         }
         
         /// <summary>
+        ///   Sucht eine lokalisierte Zeichenfolge, die You didn&apos;t enter a password! ähnelt.
+        /// </summary>
+        internal static string InputPasswordInvalid {
+            get {
+                return ResourceManager.GetString("InputPasswordInvalid", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Sucht eine lokalisierte Zeichenfolge, die Your Bitbucket username: ähnelt.
         /// </summary>
         internal static string InputUser {
         }
         
         /// <summary>
+        ///   Sucht eine lokalisierte Zeichenfolge, die You didn&apos;t enter a username! ähnelt.
+        /// </summary>
+        internal static string InputUserInvalid {
+            get {
+                return ResourceManager.GetString("InputUserInvalid", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Sucht eine lokalisierte Zeichenfolge, die Local backup folder: {0} ähnelt.
         /// </summary>
         internal static string IntroFolder {

src/BitbucketBackup/Resources.de.resx

     <value>Backup fehlgeschlagen!</value>
   </data>
   <data name="InputBackupFolder" xml:space="preserve">
-    <value>Lokaler Backup-Ordner:</value>
+    <value>Lokaler Backup-Ordner (muß schon existieren):</value>
+  </data>
+  <data name="InputBackupFolderInvalid" xml:space="preserve">
+    <value>Sie haben keinen oder einen nicht existierenden Backup-Ordner eingegeben!</value>
   </data>
   <data name="InputPassword" xml:space="preserve">
     <value>Ihr Bitbucket-Passwort:</value>
   </data>
+  <data name="InputPasswordInvalid" xml:space="preserve">
+    <value>Sie haben kein Passwort eingegeben!</value>
+  </data>
   <data name="InputUser" xml:space="preserve">
     <value>Ihr Bitbucket-Benutzername:</value>
   </data>
+  <data name="InputUserInvalid" xml:space="preserve">
+    <value>Sie haben keinen Benutzernamen eingegeben!</value>
+  </data>
   <data name="IntroFolder" xml:space="preserve">
     <value>Lokaler Backup-Ordner: {0}</value>
   </data>

src/BitbucketBackup/Resources.resx

     <value>git pull: {0}</value>
   </data>
   <data name="InputBackupFolder" xml:space="preserve">
-    <value>Local backup folder:</value>
+    <value>Local backup folder (must already exist):</value>
   </data>
   <data name="InputPassword" xml:space="preserve">
     <value>Your Bitbucket password:</value>
   <data name="SettingsPrompt" xml:space="preserve">
     <value>Press &lt;SPACE&gt; in the next {0} seconds to re-enter your settings!</value>
   </data>
+  <data name="InputBackupFolderInvalid" xml:space="preserve">
+    <value>You didn't enter a backup folder (or an invalid one)!</value>
+  </data>
+  <data name="InputPasswordInvalid" xml:space="preserve">
+    <value>You didn't enter a password!</value>
+  </data>
+  <data name="InputUserInvalid" xml:space="preserve">
+    <value>You didn't enter a username!</value>
+  </data>
 </root>