Browse Source

new view share

marinofaggiana 5 years ago
parent
commit
aa25ba0be7

+ 1 - 1
iOSClient/Share/NCShareLinkFolderMenuView.xib

@@ -18,7 +18,7 @@
                 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="sjf-wF-y07" userLabel="SwitchAllowEditing">
                 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="sjf-wF-y07" userLabel="SwitchAllowEditing">
                     <rect key="frame" x="10" y="10" width="51" height="31"/>
                     <rect key="frame" x="10" y="10" width="51" height="31"/>
                     <connections>
                     <connections>
-                        <action selector="switchReadOnlyWithSender:" destination="iN0-l3-epB" eventType="valueChanged" id="u8z-zA-TjV"/>
+                        <action selector="switchReadOnlyWithSender:" destination="iN0-l3-epB" eventType="valueChanged" id="IZJ-Hz-NxB"/>
                     </connections>
                     </connections>
                 </switch>
                 </switch>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Read only" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IHP-P8-rm2">
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Read only" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IHP-P8-rm2">

+ 19 - 16
iOSClient/Share/NCShareLinkMenuView.swift

@@ -185,7 +185,7 @@ class NCShareLinkMenuView: UIView, UIGestureRecognizerDelegate, NCShareNetworkin
     
     
     // MARK: - IBAction
     // MARK: - IBAction
 
 
-    // Allow editing
+    // Allow editing (file)
     @IBAction func switchAllowEditingChanged(sender: UISwitch) {
     @IBAction func switchAllowEditingChanged(sender: UISwitch) {
         
         
         guard let tableShare = self.tableShare else { return }
         guard let tableShare = self.tableShare else { return }
@@ -203,45 +203,48 @@ class NCShareLinkMenuView: UIView, UIGestureRecognizerDelegate, NCShareNetworkin
         networking.updateShare(idRemoteShared: tableShare.idRemoteShared, password: nil, permission: permission, note: nil, expirationTime: nil, hideDownload: tableShare.hideDownload)
         networking.updateShare(idRemoteShared: tableShare.idRemoteShared, password: nil, permission: permission, note: nil, expirationTime: nil, hideDownload: tableShare.hideDownload)
     }
     }
     
     
-    // Read Only
+    // Read Only (directory)
     @IBAction func switchReadOnly(sender: UISwitch) {
     @IBAction func switchReadOnly(sender: UISwitch) {
         
         
         guard let tableShare = self.tableShare else { return }
         guard let tableShare = self.tableShare else { return }
         guard let metadata = self.metadata else { return }
         guard let metadata = self.metadata else { return }
-        
-        if sender.isOn {
-            let permission = UtilsFramework.getPermissionsValue(byCanEdit: false, andCanCreate: false, andCanChange: false, andCanDelete: false, andCanShare: false, andIsFolder: metadata.directory)
-            
+        let permission = UtilsFramework.getPermissionsValue(byCanEdit: false, andCanCreate: false, andCanChange: false, andCanDelete: false, andCanShare: false, andIsFolder: metadata.directory)
+
+        if sender.isOn && permission != tableShare.permissions {
             let networking = NCShareNetworking.init(account: metadata.account, activeUrl: appDelegate.activeUrl,  view: self, delegate: self)
             let networking = NCShareNetworking.init(account: metadata.account, activeUrl: appDelegate.activeUrl,  view: self, delegate: self)
             networking.updateShare(idRemoteShared: tableShare.idRemoteShared, password: nil, permission: permission, note: nil, expirationTime: nil, hideDownload: tableShare.hideDownload)
             networking.updateShare(idRemoteShared: tableShare.idRemoteShared, password: nil, permission: permission, note: nil, expirationTime: nil, hideDownload: tableShare.hideDownload)
+        } else {
+            sender.setOn(true, animated: false)
         }
         }
     }
     }
     
     
-    // Allow Upload And Editing
+    // Allow Upload And Editing (directory)
     @IBAction func switchAllowUploadAndEditing(sender: UISwitch) {
     @IBAction func switchAllowUploadAndEditing(sender: UISwitch) {
         
         
         guard let tableShare = self.tableShare else { return }
         guard let tableShare = self.tableShare else { return }
         guard let metadata = self.metadata else { return }
         guard let metadata = self.metadata else { return }
-        
-        if sender.isOn {
-            let permission = UtilsFramework.getPermissionsValue(byCanEdit: true, andCanCreate: true, andCanChange: true, andCanDelete: true, andCanShare: false, andIsFolder: metadata.directory)
-            
+        let permission = UtilsFramework.getPermissionsValue(byCanEdit: true, andCanCreate: true, andCanChange: true, andCanDelete: true, andCanShare: false, andIsFolder: metadata.directory)
+
+        if sender.isOn && permission != tableShare.permissions {
             let networking = NCShareNetworking.init(account: metadata.account, activeUrl: appDelegate.activeUrl,  view: self, delegate: self)
             let networking = NCShareNetworking.init(account: metadata.account, activeUrl: appDelegate.activeUrl,  view: self, delegate: self)
             networking.updateShare(idRemoteShared: tableShare.idRemoteShared, password: nil, permission: permission, note: nil, expirationTime: nil, hideDownload: tableShare.hideDownload)
             networking.updateShare(idRemoteShared: tableShare.idRemoteShared, password: nil, permission: permission, note: nil, expirationTime: nil, hideDownload: tableShare.hideDownload)
+        } else {
+            sender.setOn(true, animated: false)
         }
         }
     }
     }
   
   
-    // File Drop
+    // File Drop (directory)
     @IBAction func switchFileDrop(sender: UISwitch) {
     @IBAction func switchFileDrop(sender: UISwitch) {
         
         
         guard let tableShare = self.tableShare else { return }
         guard let tableShare = self.tableShare else { return }
         guard let metadata = self.metadata else { return }
         guard let metadata = self.metadata else { return }
-        
-        if sender.isOn {
-            let permission = Int(k_create_share_permission)
-            
+        let permission = Int(k_create_share_permission)
+
+        if sender.isOn && permission != tableShare.permissions {
             let networking = NCShareNetworking.init(account: metadata.account, activeUrl: appDelegate.activeUrl,  view: self, delegate: self)
             let networking = NCShareNetworking.init(account: metadata.account, activeUrl: appDelegate.activeUrl,  view: self, delegate: self)
             networking.updateShare(idRemoteShared: tableShare.idRemoteShared, password: nil, permission: permission, note: nil, expirationTime: nil, hideDownload: tableShare.hideDownload)
             networking.updateShare(idRemoteShared: tableShare.idRemoteShared, password: nil, permission: permission, note: nil, expirationTime: nil, hideDownload: tableShare.hideDownload)
+        } else {
+            sender.setOn(true, animated: false)
         }
         }
     }
     }