Browse Source

save template offline

Marino Faggiana 8 years ago
parent
commit
bf3f9f4b9a

+ 1 - 1
iOSClient/CCGlobal.h

@@ -278,7 +278,7 @@ extern NSString *const BKPasscodeKeychainServiceName;
 
 // Metadata : Type
 #define k_metadataType_file                 @"file"
-#define k_metadataType_model                @"model"
+#define k_metadataType_template             @"model"
 #define k_metadataType_local                @"local"
 
 // Metadata : Filename Type

+ 2 - 2
iOSClient/FileSystem/CCCoreData.m

@@ -1842,8 +1842,8 @@
     // aggiorniamo il CCMetadata
     [self updateMetadata:metadata predicate:[NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", metadata.fileID, activeAccount] activeAccount:activeAccount activeUrl:activeUrl typeCloud:typeCloud context:nil];
     
-    // se è un modello aggiorniamo anche nel FileSystem
-    if ([metadata.type isEqualToString: k_metadataType_model]){
+    // se è un template aggiorniamo anche nel FileSystem
+    if ([metadata.type isEqualToString: k_metadataType_template]){
         [self updateLocalFileModel:metadata activeAccount:activeAccount];
     }
 }

+ 7 - 7
iOSClient/Main/CCMain.m

@@ -2975,7 +2975,7 @@
     if ([metadata.type isEqualToString: k_metadataType_file])
         [[CCNetworking sharedNetworking] downloadFile:metadata serverUrl:serverUrl downloadData:YES downloadPlist:NO selector:selectorAddOffline selectorPost:nil session:k_download_session taskStatus:k_taskStatusResume delegate:self];
     
-    if ([metadata.type isEqualToString: k_metadataType_model])
+    if ([metadata.type isEqualToString: k_metadataType_template])
         [CCCoreData setOfflineLocalFileID:metadata.fileID offline:YES activeAccount:app.activeAccount];
     
     NSIndexPath *indexPath = [_sectionDataSource.fileIDIndexPath objectForKey:metadata.fileID];
@@ -3003,7 +3003,7 @@
     if ([metadata.type isEqualToString: k_metadataType_file])
         [[CCNetworking sharedNetworking] downloadFile:metadata serverUrl:serverUrl downloadData:YES downloadPlist:NO selector:selectorAddLocal selectorPost:nil session:k_download_session taskStatus:k_taskStatusResume delegate:self];
     
-    if ([metadata.type isEqualToString: k_metadataType_model]) {
+    if ([metadata.type isEqualToString: k_metadataType_template]) {
         
         [CCUtility copyFileAtPath:[NSString stringWithFormat:@"%@/%@", app.directoryUser, metadata.fileName] toPath:[NSString stringWithFormat:@"%@/%@", [CCUtility getDirectoryLocal], metadata.fileName]];
         
@@ -4439,7 +4439,7 @@
     
     /******************************************* TEMPLATE *******************************************/
     
-    if ([_metadata.type isEqualToString: k_metadataType_model]) {
+    if ([_metadata.type isEqualToString: k_metadataType_template]) {
         
         iconHeader = [UIImage imageNamed:_metadata.iconName];
      
@@ -5036,7 +5036,7 @@
         [dateFormatter setDateStyle:NSDateFormatterShortStyle];
         [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
         
-        if ([metadata.type isEqualToString: k_metadataType_model] && [dataFile isEqualToString:@" "] == NO && [lunghezzaFile isEqualToString:@" "] == NO)
+        if ([metadata.type isEqualToString: k_metadataType_template] && [dataFile isEqualToString:@" "] == NO && [lunghezzaFile isEqualToString:@" "] == NO)
             cell.labelInfoFile.text = [NSString stringWithFormat:@"%@", dataFile];
         
         if ([metadata.type isEqualToString: k_metadataType_file] && [dataFile isEqualToString:@" "] == NO && [lunghezzaFile isEqualToString:@" "] == NO) {
@@ -5093,7 +5093,7 @@
     // ----------------------------------------------------------------------------------------------------------
     
     // File Cyptated
-    if (metadata.cryptated && metadata.directory == NO && [metadata.type isEqualToString: k_metadataType_model] == NO) {
+    if (metadata.cryptated && metadata.directory == NO && [metadata.type isEqualToString: k_metadataType_template] == NO) {
      
         cell.statusImageView.image = [UIImage imageNamed:image_lock];
     }
@@ -5428,7 +5428,7 @@
     
         NSString* selector;
         
-        if ([_metadata.type isEqualToString: k_metadataType_model]) selector = selectorLoadModelView;
+        if ([_metadata.type isEqualToString: k_metadataType_template]) selector = selectorLoadModelView;
         else selector = selectorLoadPlist;
         
         [[CCNetworking sharedNetworking] downloadFile:_metadata serverUrl:serverUrl downloadData:NO downloadPlist:YES selector:selector selectorPost:nil session:k_download_session taskStatus:k_taskStatusResume delegate:self];
@@ -5437,7 +5437,7 @@
     }
         
     // se il plist è caricato ed è un modello aprilo
-    if ([_metadata.type isEqualToString:k_metadataType_model]) [self openModel:_metadata.model isNew:false];
+    if ([_metadata.type isEqualToString:k_metadataType_template]) [self openModel:_metadata.model isNew:false];
     
     // file
     if (_metadata.directory == NO && _metadata.errorPasscode == NO && [_metadata.type isEqualToString: k_metadataType_file]) {

+ 1 - 1
iOSClient/MenuAccount+ControlCenter/CCControlCenter.m

@@ -829,7 +829,7 @@
     // ----------------------------------------------------------------------------------------------------------
     
     // File Cyptated
-    if (metadata.cryptated && metadata.directory == NO && [metadata.type isEqualToString: k_metadataType_model] == NO) {
+    if (metadata.cryptated && metadata.directory == NO && [metadata.type isEqualToString: k_metadataType_template] == NO) {
         
         cell.statusImageView.image = [UIImage imageNamed:image_lock];
     }

+ 2 - 2
iOSClient/Offline/CCOfflineFileFolder.m

@@ -377,7 +377,7 @@
                 [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@.ico", app.directoryUser, metadata.fileID] error:nil];
             }
             
-            if ([metadata.type isEqualToString: k_metadataType_model]) {
+            if ([metadata.type isEqualToString: k_metadataType_template]) {
                 
                 // remove model
                 [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@", app.directoryUser, metadata.fileName] error:nil];
@@ -420,7 +420,7 @@
                 selector = selectorDownloadOffline;
             }
         
-            if ([metadata.type isEqualToString: k_metadataType_model]) {
+            if ([metadata.type isEqualToString: k_metadataType_template]) {
                 downloadPlist = YES;
                 selector = selectorLoadPlist;
             }

+ 3 - 0
iOSClient/Offline/CCOfflinePageContent.h

@@ -55,4 +55,7 @@
 @property (nonatomic, weak) CCDetail *detailViewController;
 @property (nonatomic, strong) UIDocumentInteractionController *docController;
 
+- (void)reloadDatasource;
+- (void)readFolderWithForced:(BOOL)forced;
+
 @end

+ 18 - 10
iOSClient/Offline/CCOfflinePageContent.m

@@ -81,7 +81,7 @@
     // Plus Button
     [app plusButtonVisibile:true];
     
-    [self reloadTable];
+    [self reloadDatasource];
 }
 
 // E' arrivato
@@ -91,6 +91,9 @@
     
     // cancell Progress
     [self.navigationController cancelCCProgress];
+    
+    // update Badge
+    [app updateApplicationIconBadgeNumber];
 }
 
 - (void)didReceiveMemoryWarning {
@@ -195,7 +198,7 @@
 
 - (void)deleteFileOrFolderSuccess:(CCMetadataNet *)metadataNet
 {
-    [self reloadTable];
+    [self reloadDatasource];
 }
 
 #pragma --------------------------------------------------------------------------------------------
@@ -265,8 +268,8 @@
     else
         iconHeader = [UIImage imageNamed:self.metadata.iconName];
     
-    // NO Directory
-    if (_metadata.directory == NO) {
+    // NO Directory - NO Template
+    if (_metadata.directory == NO && [_metadata.type isEqualToString:k_metadataType_template] == NO) {
     
         [actionSheet addButtonWithTitle:NSLocalizedString(@"_open_in_", nil)
                                   image:[UIImage imageNamed:image_actionSheetOpenIn]
@@ -310,7 +313,7 @@
                                     
                                     [self.tableView setEditing:NO animated:YES];
                                     
-                                    [self reloadTable];
+                                    [self reloadDatasource];
                                 }];
     }
     
@@ -343,7 +346,7 @@
                                                                    [[NSFileManager defaultManager] removeItemAtPath:iconPath error:nil];
                                                                }
                                                                
-                                                               [self reloadTable];
+                                                               [self reloadDatasource];
                                                            }]];
         
         
@@ -389,7 +392,12 @@
     return metadata;
 }
 
-- (void)reloadTable
+- (void)readFolderWithForced:(BOOL)forced
+{
+    [self reloadDatasource];
+}
+
+- (void)reloadDatasource
 {
     if ([_pageType isEqualToString:k_pageOfflineOffline]) {
         
@@ -518,7 +526,7 @@
         cell.fileImageView.image = [UIImage imageNamed:metadata.iconName];
     
     // it's encrypted ???
-    if (metadata.cryptated && [metadata.type isEqualToString: k_metadataType_model] == NO)
+    if (metadata.cryptated && [metadata.type isEqualToString: k_metadataType_template] == NO)
         cell.statusImageView.image = [UIImage imageNamed:image_lock];
     
     // it's in download mode
@@ -536,7 +544,7 @@
         NSString *date = [CCUtility dateDiff:metadata.date];
         NSString *length = [CCUtility transformedSize:metadata.size];
         
-        if ([metadata.type isEqualToString: k_metadataType_model])
+        if ([metadata.type isEqualToString: k_metadataType_template])
             cell.labelInfoFile.text = [NSString stringWithFormat:@"%@", date];
         
         if ([metadata.type isEqualToString: k_metadataType_file] || [metadata.type isEqualToString: k_metadataType_local])
@@ -565,7 +573,7 @@
             [self performSegueWithIdentifier:@"segueDetail" sender:self];
     }
     
-    if ([self.metadata.type isEqualToString: k_metadataType_model])
+    if ([self.metadata.type isEqualToString: k_metadataType_template])
         [self openModel:self.metadata];
     
     if (_metadata.directory)

+ 1 - 1
iOSClient/Security/CCCrypto.m

@@ -192,7 +192,7 @@
     [data setObject: [CCUtility getNameCurrentDevice] forKey:@"namecurrentdevice"];
     [data setObject: k_versionProtocolPlist forKey:@"protocol"];
     [data setObject: title forKey:@"title"];
-    [data setObject: k_metadataType_model forKey:@"type"];
+    [data setObject: k_metadataType_template forKey:@"type"];
     [data setObject: uuid forKey:@"uuid"];
     [data setObject: [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] forKey:@"version"];
 

+ 3 - 0
iOSClient/Templates/CCAccountWeb.h

@@ -27,6 +27,9 @@
 #import "CCTemplates.h"
 
 @protocol CCAccountWebDelegate <NSObject>
+
+- (void)readFolderWithForced:(BOOL)forced;
+
 @end
 
 @interface CCAccountWeb : XLFormViewController

+ 12 - 1
iOSClient/Templates/CCAccountWeb.m

@@ -31,6 +31,7 @@
     NSTimer* myTimer;
     NSMutableDictionary *field;
     CCTemplates *templates;
+    NSString *_saveFileID;
 }
 @end
 
@@ -189,7 +190,17 @@
 
 - (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
-    [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+    if (![_saveFileID isEqualToString:fileID]) {
+    
+        _saveFileID = fileID;
+        
+        [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+    
+        // remove the file
+        [CCCoreData deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", fileID, app.activeAccount]];
+    
+        [self.delegate readFolderWithForced:YES];
+    }
 }
 
 - (void)uploadFileSuccess:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost

+ 3 - 0
iOSClient/Templates/CCBancomat.h

@@ -27,6 +27,9 @@
 #import "CCTemplates.h"
 
 @protocol CCBancomatDelegate <NSObject>
+
+- (void)readFolderWithForced:(BOOL)forced;
+
 @end
 
 @interface CCBancomat : XLFormViewController

+ 13 - 1
iOSClient/Templates/CCBancomat.m

@@ -30,6 +30,8 @@
     NSTimer* myTimer;
     NSMutableDictionary *field;
     CCTemplates *templates;
+    NSString *_saveFileID;
+
 }
 @end
 
@@ -195,7 +197,17 @@
 
 - (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
-    [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+    if (![_saveFileID isEqualToString:fileID]) {
+        
+        _saveFileID = fileID;
+        
+        [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+        
+        // remove the file
+        [CCCoreData deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", fileID, app.activeAccount]];
+        
+        [self.delegate readFolderWithForced:YES];
+    }
 }
 
 - (void)uploadFileSuccess:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost

+ 3 - 0
iOSClient/Templates/CCCartaDiCredito.h

@@ -27,6 +27,9 @@
 #import "CCTemplates.h"
 
 @protocol CCCartaDiCreditoDelegate <NSObject>
+
+- (void)readFolderWithForced:(BOOL)forced;
+
 @end
 
 @interface CCCartaDiCredito : XLFormViewController

+ 13 - 1
iOSClient/Templates/CCCartaDiCredito.m

@@ -30,6 +30,8 @@
     NSTimer* myTimer;
     NSMutableDictionary *field;
     CCTemplates *templates;
+    NSString *_saveFileID;
+
 }
 @end
 
@@ -213,7 +215,17 @@
 
 - (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
-    [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+    if (![_saveFileID isEqualToString:fileID]) {
+        
+        _saveFileID = fileID;
+        
+        [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+        
+        // remove the file
+        [CCCoreData deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", fileID, app.activeAccount]];
+        
+        [self.delegate readFolderWithForced:YES];
+    }
 }
 
 - (void)uploadFileSuccess:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost

+ 3 - 0
iOSClient/Templates/CCCartaIdentita.h

@@ -27,6 +27,9 @@
 #import "CCTemplates.h"
 
 @protocol CCCartaIdentitaDelegate <NSObject>
+
+- (void)readFolderWithForced:(BOOL)forced;
+
 @end
 
 @interface CCCartaIdentita : XLFormViewController

+ 12 - 1
iOSClient/Templates/CCCartaIdentita.m

@@ -31,6 +31,7 @@
     NSTimer* myTimer;
     NSMutableDictionary *field;
     CCTemplates *templates;
+    NSString *_saveFileID;
 }
 @end
 
@@ -213,7 +214,17 @@
 
 - (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
-    [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+    if (![_saveFileID isEqualToString:fileID]) {
+        
+        _saveFileID = fileID;
+        
+        [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+        
+        // remove the file
+        [CCCoreData deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", fileID, app.activeAccount]];
+        
+        [self.delegate readFolderWithForced:YES];
+    }
 }
 
 - (void)uploadFileSuccess:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost

+ 3 - 0
iOSClient/Templates/CCContoCorrente.h

@@ -27,6 +27,9 @@
 #import "CCTemplates.h"
 
 @protocol CCContoCorrenteDelegate <NSObject>
+
+- (void)readFolderWithForced:(BOOL)forced;
+
 @end
 
 @interface CCContoCorrente : XLFormViewController

+ 12 - 1
iOSClient/Templates/CCContoCorrente.m

@@ -31,6 +31,7 @@
     NSTimer* myTimer;
     NSMutableDictionary *field;
     CCTemplates *templates;
+    NSString *_saveFileID;
 }
 @end
 
@@ -213,7 +214,17 @@
 
 - (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
-    [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+    if (![_saveFileID isEqualToString:fileID]) {
+        
+        _saveFileID = fileID;
+        
+        [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+        
+        // remove the file
+        [CCCoreData deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", fileID, app.activeAccount]];
+        
+        [self.delegate readFolderWithForced:YES];
+    }
 }
 
 - (void)uploadFileSuccess:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost

+ 3 - 0
iOSClient/Templates/CCNote.h

@@ -27,6 +27,9 @@
 #import "CCTemplates.h"
 
 @protocol CCNoteDelegate <NSObject>
+
+- (void)readFolderWithForced:(BOOL)forced;
+
 @end
 
 @interface CCNote : ZSSRichTextEditor

+ 12 - 1
iOSClient/Templates/CCNote.m

@@ -31,6 +31,7 @@
     CCTemplates *templates;
     
     NSString *initHtml;
+    NSString *_saveFileID;
 }
 @end
 
@@ -159,7 +160,17 @@
 
 - (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
-    [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+    if (![_saveFileID isEqualToString:fileID]) {
+        
+        _saveFileID = fileID;
+        
+        [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+        
+        // remove the file
+        [CCCoreData deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", fileID, app.activeAccount]];
+        
+        [self.delegate readFolderWithForced:YES];
+    }
 }
 
 - (void)uploadFileSuccess:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost

+ 3 - 0
iOSClient/Templates/CCPassaporto.h

@@ -27,6 +27,9 @@
 #import "CCTemplates.h"
 
 @protocol CCPassaportoDelegate <NSObject>
+
+- (void)readFolderWithForced:(BOOL)forced;
+
 @end
 
 @interface CCPassaporto : XLFormViewController

+ 12 - 1
iOSClient/Templates/CCPassaporto.m

@@ -31,6 +31,7 @@
     NSTimer* myTimer;
     NSMutableDictionary *field;
     CCTemplates *templates;
+    NSString *_saveFileID;
 }
 @end
 
@@ -213,7 +214,17 @@
 
 - (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
-    [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+    if (![_saveFileID isEqualToString:fileID]) {
+        
+        _saveFileID = fileID;
+        
+        [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+        
+        // remove the file
+        [CCCoreData deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", fileID, app.activeAccount]];
+        
+        [self.delegate readFolderWithForced:YES];
+    }
 }
 
 - (void)uploadFileSuccess:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost

+ 3 - 0
iOSClient/Templates/CCPatenteGuida.h

@@ -27,6 +27,9 @@
 #import "CCTemplates.h"
 
 @protocol CCPatenteGuidaDelegate <NSObject>
+
+- (void)readFolderWithForced:(BOOL)forced;
+
 @end
 
 @interface CCPatenteGuida : XLFormViewController

+ 12 - 1
iOSClient/Templates/CCPatenteGuida.m

@@ -33,6 +33,7 @@
     NSTimer* myTimer;
     NSMutableDictionary *field;
     CCTemplates *templates;
+    NSString *_saveFileID;
 }
 @end
 
@@ -207,7 +208,17 @@
 
 - (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
-   [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+    if (![_saveFileID isEqualToString:fileID]) {
+        
+        _saveFileID = fileID;
+        
+        [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError];
+        
+        // remove the file
+        [CCCoreData deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", fileID, app.activeAccount]];
+        
+        [self.delegate readFolderWithForced:YES];
+    }
 }
 
 - (void)uploadFileSuccess:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost

+ 1 - 1
iOSClient/Utility/CCUtility.m

@@ -822,7 +822,7 @@
 
 + (void)insertTypeFileIconName:(CCMetadata *)metadata directory:(NSString *)directory cameraFolderName:(NSString *)cameraFolderName cameraFolderPath:(NSString *)cameraFolderPath
 {
-    if ([metadata.type isEqualToString: k_metadataType_model]) {
+    if ([metadata.type isEqualToString: k_metadataType_template]) {
         
         metadata.typeFile = k_metadataTypeFile_template;