浏览代码

add alias

marinofaggiana 4 年之前
父节点
当前提交
868fdbf9a1

+ 1 - 0
iOSClient/Data/NCDatabase.swift

@@ -28,6 +28,7 @@ class tableAccount: Object {
     @objc dynamic var account = ""
     @objc dynamic var active: Bool = false
     @objc dynamic var address = ""
+    @objc dynamic var alias = ""
     @objc dynamic var autoUpload: Bool = false
     @objc dynamic var autoUploadBackground: Bool = false
     @objc dynamic var autoUploadCreateSubfolder: Bool = false

+ 19 - 0
iOSClient/Data/NCManageDatabase.swift

@@ -693,6 +693,25 @@ class NCManageDatabase: NSObject {
         }
     }
     
+    @objc func setAccountAlias(_ alias: String?) {
+        
+        let realm = try! Realm()
+
+        do {
+            try realm.safeWrite {
+                if let result = realm.objects(tableAccount.self).filter("active == true").first {
+                    if let alias = alias {
+                        result.alias = alias
+                    } else {
+                        result.alias = ""
+                    }
+                }
+            }
+        } catch let error {
+            NCCommunicationCommon.shared.writeLog("Could not write to database: \(error)")
+        }
+    }
+    
     //MARK: -
     //MARK: Table Activity
 

+ 1 - 1
iOSClient/NCGlobal.swift

@@ -59,7 +59,7 @@ class NCGlobal: NSObject {
 
     // Database Realm
     let databaseDefault                             = "nextcloud.realm"
-    let databaseSchemaVersion: UInt64               = 166
+    let databaseSchemaVersion: UInt64               = 167
     
     // Intro selector
     @objc let introLogin: Int                       = 0

+ 20 - 1
iOSClient/Settings/CCManageAccount.m

@@ -101,6 +101,18 @@
         [section addFormRow:row];
     }
     
+    // Section : ALIAS --------------------------------------------------
+    
+    section = [XLFormSectionDescriptor formSectionWithTitle:NSLocalizedString(@"_alias_", nil)];
+    [form addFormSection:section];
+    
+    row = [XLFormRowDescriptor formRowDescriptorWithTag:@"alias" rowType:XLFormRowDescriptorTypeAccount];
+    row.cellConfigAtConfigure[@"backgroundColor"] = NCBrandColor.shared.backgroundView;
+    [row.cellConfig setObject:[UIFont systemFontOfSize:15.0] forKey:@"textField.font"];
+    [row.cellConfig setObject:NCBrandColor.shared.textView forKey:@"textField.textColor"];
+    row.value = accountActive.alias;
+    [section addFormRow:row];
+    
     // Section : MANAGE ACCOUNT -------------------------------------------
     
     if ([NCBrandOptions shared].disable_manage_account == NO) {
@@ -403,6 +415,7 @@
         if ([rowDescriptor.tag isEqualToString:account.account]) {
             if (![account.account isEqualToString:accountActive.account]) {
                 [self ChangeDefaultAccount:account.account];
+                [self initializeForm];
             }
         }
     }
@@ -416,7 +429,13 @@
         }
     }
     
-    [self initializeForm];
+    if ([rowDescriptor.tag isEqualToString:@"alias"]) {
+        if ([newValue isEqual:[NSNull null]]) {
+            [[NCManageDatabase shared] setAccountAlias:@""];
+        } else {
+            [[NCManageDatabase shared] setAccountAlias:newValue];
+        }
+    }
 }
 
 #pragma mark -

+ 1 - 0
iOSClient/Supporting Files/en.lproj/Localizable.strings

@@ -164,6 +164,7 @@
 "_account_request_"         = "Request account";
 "_settings_account_request_" = "Request account at startup";
 "_print_"                   = "Print";
+"_alias_"                   = "Alias";
 
 /* User status */
 "_online_"                  = "Online";