浏览代码

- 멤버 리스트 관련 작업

KaRam Kim 8 年之前
父节点
当前提交
37baf50ab8

+ 6 - 6
OneCable.xcodeproj/project.pbxproj

@@ -1219,7 +1219,7 @@
 /* Begin PBXShellScriptBuildPhase section */
 		27BC1E0D72C144B1471B5B4D /* [CP] Copy Pods Resources */ = {
 			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
+			buildActionMask = 8;
 			files = (
 			);
 			inputPaths = (
@@ -1227,14 +1227,14 @@
 			name = "[CP] Copy Pods Resources";
 			outputPaths = (
 			);
-			runOnlyForDeploymentPostprocessing = 0;
+			runOnlyForDeploymentPostprocessing = 1;
 			shellPath = /bin/sh;
 			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-OneCable/Pods-OneCable-resources.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
 		93ADEA80A8C04811E0886259 /* [CP] Embed Pods Frameworks */ = {
 			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
+			buildActionMask = 8;
 			files = (
 			);
 			inputPaths = (
@@ -1242,21 +1242,21 @@
 			name = "[CP] Embed Pods Frameworks";
 			outputPaths = (
 			);
-			runOnlyForDeploymentPostprocessing = 0;
+			runOnlyForDeploymentPostprocessing = 1;
 			shellPath = /bin/sh;
 			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-OneCable/Pods-OneCable-frameworks.sh\"\n";
 			showEnvVarsInLog = 0;
 		};
 		A57656181E518A1D002D0AE2 /* ShellScript */ = {
 			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
+			buildActionMask = 8;
 			files = (
 			);
 			inputPaths = (
 			);
 			outputPaths = (
 			);
-			runOnlyForDeploymentPostprocessing = 0;
+			runOnlyForDeploymentPostprocessing = 1;
 			shellPath = /bin/sh;
 			shellScript = "${PODS_ROOT}/Fabric/run 880f3dee7e6be7a796fab928aafeee250c7867e2 cd7015c4f4a84ac451c1239e79ac4d79f8789bf567e4a50643d45f604248b1e7";
 		};

+ 2 - 0
OneCable/Classes/Categories/NSString-Addtions.h

@@ -32,4 +32,6 @@
 
 - (NSString *)trimSpaceAndEnter;
 
+- (BOOL)isEquestToIgnoreCase:(NSString *)str;
+
 @end

+ 9 - 0
OneCable/Classes/Categories/NSString-Addtions.m

@@ -231,5 +231,14 @@
     return [self stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
 }
 
+- (BOOL)isEquestToIgnoreCase:(NSString *)str {
+    BOOL result = false;
+    if (![self isEmptyString] || ![str isEmptyString]) {
+        if ([[self uppercaseString] isEqualToString:[str uppercaseString]]) {
+            result = true;
+        }
+    }
+    return result;
+}
 
 @end

+ 1 - 1
OneCable/Classes/Definitions.h

@@ -106,7 +106,7 @@ static NSString *kWebLinkServer = @"http://61.40.220.23:7794";      //운영
 #define API_POST_HOMEGROUP_MEMBER_INVITATIONS   @"/homegrp_members/invitations" //홈그룹 초대 수락/거절
 
 //20 - dashboard
-#define API_GET_DASHBOARD                   @"/dashboard"       //대시보드
+#define API_GET_DASHBOARD                   @"/customer/%@/group/%@/device/node"       //대시보드
 #define API_GET_DASHBOARD_MODE_LIST         @"/modes"                   //대시보드 모드 조회
 #define API_POST_DASHBOARD_MODE_CHANGE      @"/modes/%@/current_mode"   //대시보드 모드 변경
 #define API_GET_MODE_STATUS                 @"/modes/%@/status"         //홈모드 변경 결과 조회

+ 1 - 0
OneCable/Classes/Model/LoginModel.h

@@ -125,6 +125,7 @@
 @property (copy, nonatomic) NSString *servicehubApplicationId;
 
 @property (strong, nonatomic) NSMutableArray<DeviceModel> *deviceList; //디바이스 목록
+@property (copy, nonatomic) NSString *selectedHomeHubID;
 
 //@property (copy, nonatomic) NSString *deviceOnline;
 //@property (copy, nonatomic) NSString *deviceOnlineLastDatetime;

+ 36 - 0
OneCable/Classes/Model/LoginModel.m

@@ -71,6 +71,42 @@
 //    return [[JSONKeyMapper alloc] initWithDictionary:dictionary];
 //}
 
+- (void)setSelectedHomeHubID:(NSString *)selectedHomeHubID{
+// TODO : 홈허브를 선택했을 경우 저장하는 기능 구현
+    if([self isExistHomeHubID:selectedHomeHubID])
+    {
+        _selectedHomeHubID = selectedHomeHubID;
+    }
+}
+
+- (NSString *)getSelectedHomeHubID {
+// TODO : 홈허브 아이디를 선택했을 경우 저장된 홈허브 아이디를 가져오는 기능
+    return _selectedHomeHubID;
+}
+
+- (BOOL)isExistHomeHubID:(NSString *)homeHubID {
+    BOOL result = false;
+    
+    for (DeviceModel *info in _deviceList) {
+        if([info.deviceId isEquestToIgnoreCase:homeHubID]) {
+            result = true;
+        }
+    }
+    
+    return result;
+}
+
+- (BOOL)isMultiHomeHub {
+    BOOL result = false;
+    
+    if (_deviceList.count > 1) {
+        result = true;
+    }
+    
+    return result;
+}
+
+
 - (void)setMemberId:(NSString *)memberId {
     _memberId = memberId;
 

+ 36 - 15
OneCable/Classes/ViewControllers/HomeMemberScreens/HomeMemberViewController.m

@@ -66,6 +66,8 @@
     BOOL _isNotFirstLoading, _isDeleteMode;
     NSInteger _deviceFlag;
     NSString *_masterNickname;
+    
+    NSMutableArray<MoreBtnModel *> *_arrMoreBtn;
 }
 
 @property (strong, nonatomic) JYPullToRefreshController *refreshController;
@@ -103,8 +105,12 @@
     _collectionView.backgroundColor = kUIBgColor04;
     _collectionView.alwaysBounceVertical = YES;
 
+    [_btnClose setHidden:YES];
+    [_btnOption setHidden:NO];
+    
     [self setThingsPopoverOptions];
     [self initRefreshController];
+    [self setMemberMoreBtnArray];
 }
 
 - (void)initRefreshController {
@@ -224,37 +230,52 @@
 - (IBAction)btnOptionTouched:(id)sender
 {
     NSMutableArray *btnArray = [NSMutableArray array];
+
+    
+    //img_bg_morepopup_icon_masterchange, img_bg_morepopup_icon_masterchange_press
+    //img_bg_morepopup_icon_masterchange
+    //img_bg_morepopup_icon_masterchange
+    
+//    NSMutableArray *btnArray = [NSMutableArray arrayWithObjects:[NSNumber numberWithInteger:masterChange],[NSNumber numberWithInteger:add],[NSNumber numberWithInteger:del], nil];
+//
+//    [self toggleOptionsWithArray:sender btnArray:btnArray];
+}
+
+- (void)setMemberMoreBtnArray {
+    if (_arrMoreBtn == nil) {
+        _arrMoreBtn = [NSMutableArray array];
+    }
+    
+    if (![[JDFacade facade].loginUser hasHomeHub]) {
+        [_btnOption setHidden:YES];
+    }
+    
     for (int i = 0; i < 4; i++) {
         MoreBtnModel *btnModel;
         switch (i) {
-            case 0:
+            case 0:{
                 btnModel = [[MoreBtnModel alloc] initWithTyep:MasterTransfer isEnable:YES];
-//                [btnModel setBtnImage:UIControlStateNormal imgName:@"img_bg_morepopup_icon_masterchange"];
-//                [btnModel setBtnImage:UIControlStateHighlighted imgName:@"img_bg_morepopup_icon_masterchange_press"];
+                if (![[JDFacade facade].loginUser isHomehubOnline]) {
+                    [btnModel setEnable:NO];
+                }
+            }
+                
                 break;
             case 1:
-                btnModel = [[MoreBtnModel alloc] initWithTyep:MasterTransfer isEnable:YES];
+                btnModel = [[MoreBtnModel alloc] initWithTyep:AddMember isEnable:YES];
                 break;
             case 2:
-                btnModel = [[MoreBtnModel alloc] initWithTyep:MasterTransfer isEnable:YES];
+                btnModel = [[MoreBtnModel alloc] initWithTyep:Del isEnable:YES];
                 break;
             case 3:
-                btnModel = [[MoreBtnModel alloc] initWithTyep:MasterTransfer isEnable:YES];
+                btnModel = [[MoreBtnModel alloc] initWithTyep:Refresh isEnable:YES];
                 break;
                 
             default:
                 break;
         }
-        [btnArray addObject:btnModel];
+        [_arrMoreBtn addObject:btnModel];
     }
-    
-    //img_bg_morepopup_icon_masterchange, img_bg_morepopup_icon_masterchange_press
-    //img_bg_morepopup_icon_masterchange
-    //img_bg_morepopup_icon_masterchange
-    
-//    NSMutableArray *btnArray = [NSMutableArray arrayWithObjects:[NSNumber numberWithInteger:masterChange],[NSNumber numberWithInteger:add],[NSNumber numberWithInteger:del], nil];
-//
-//    [self toggleOptionsWithArray:sender btnArray:btnArray];
 }
 
 

+ 6 - 7
OneCable/Classes/ViewControllers/MainScreens/LoginViewController.m

@@ -113,14 +113,14 @@
     _chkIdSave.checked = [[[JDFacade facade] objectForKeyFromUserDefaults:USDEF_APP_SAVE_ID] boolValue];
     if (_chkAutoLogin.checked) {
 //        [self requestAutoLogin];
-        _txtEmail.text = [[JDFacade facade] objectForKeyFromUserDefaults:USDEF_SESSION_LOGIN_ID];
-        _txtPasswd.text = [[JDFacade facade] objectForKeyFromUserDefaults:USDEF_SESSION_LOGIN_PWD];
+        _txtEmail.text = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_ID];
+        _txtPasswd.text = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_PWD];
         
         [self btnLogInTouched:_btnLogin];
     }
     
     if (_chkIdSave.checked) {
-        _txtEmail.text = [[JDFacade facade] objectForKeyFromUserDefaults:USDEF_SESSION_LOGIN_ID];
+        _txtEmail.text = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_ID];
     }
         
 }
@@ -247,9 +247,8 @@
         [RequestHandler handler].authorization = loginInfo.authorization;
 // TODO : 자동로그인 / 아이디 저장 관련 작업하기
         if (_chkAutoLogin.checked) {//자동로그인 설정 시, 인증 토큰 저장
-            [[JDFacade facade] storeObjectToUserDefaults:@(_chkAutoLogin.checked) forKey:USDEF_APP_AUTO_LOGIN];
-//            [[JDFacade facade] storeObject:[_txtEmail.text trim] forKey:USDEF_SESSION_LOGIN_ID];
-            [[JDFacade facade] storeObjectToUserDefaults:[JDFacade facade].tmpEmailId forKey:USDEF_SESSION_LOGIN_PWD];
+            [[JDFacade facade] storeObjectToKeychain:@(_chkAutoLogin.checked) forKey:USDEF_APP_AUTO_LOGIN];
+            [[JDFacade facade] storeObjectToKeychain:[JDFacade facade].tmpEmailId forKey:USDEF_SESSION_LOGIN_PWD];
         } else {
             [[JDFacade facade] removeObjectAtKeychain:USDEF_SESSION_AUTOTOKEN];
             [[JDFacade facade] removeObjectAtKeychain:USDEF_SESSION_LOGIN_PWD];
@@ -259,7 +258,7 @@
         }
         
         if (_chkIdSave.checked) {
-            [[JDFacade facade] storeObjectToUserDefaults:@(_chkIdSave.checked) forKey:USDEF_APP_SAVE_ID];
+            [[JDFacade facade] storeObjectToKeychain:@(_chkIdSave.checked) forKey:USDEF_APP_SAVE_ID];
 //            [[JDFacade facade] storeObjectToUserDefaultsuser:[_txtEmail.text trim] forKey:USDEF_SESSION_LOGIN_ID];
         } else {
             if (!_chkAutoLogin.checked) {

+ 3 - 3
OneCable/Classes/ViewControllers/MainScreens/MainViewController.m

@@ -208,9 +208,9 @@
 
 - (void)requestDashboard:(JDFacadeCompletionCallBackHandler)completion {
     //parameters
-    NSDictionary *parameter = @{@"read_datetime": [JDFacade facade].loginUser.noticeReadTime ? [JDFacade facade].loginUser.noticeReadTime : ksEmptyString};
+    NSDictionary *parameter = @{@"device_id": [JDFacade facade].loginUser.noticeReadTime ? [JDFacade facade].loginUser.noticeReadTime : ksEmptyString};
     
-    NSString *path = [NSString stringWithFormat:API_GET_DASHBOARD];
+    NSString *path = [NSString stringWithFormat:API_GET_DASHBOARD, [[JDFacade facade].loginUser custId], [[JDFacade facade].loginUser ctrtGrpId]];
     
     [[RequestHandler handler] sendAsyncGetRequestAPIPath:path parameters:parameter modelClass:[DashboardModel class] completion:^(id responseObject) {
         if (!responseObject) {//응답결과가 잘못되었거나 없을 경우,
@@ -321,7 +321,7 @@
     [self checkTempPassword];
 }
 
-
+// TODO : 임시 비밀번호 변경관련 작업 할것.
 - (void)checkTempPassword {
     
     if ([JDFacade facade].loginUser.tempPasswordYn && [[JDFacade facade].loginUser.tempPasswordYn boolValue]) {