|
|
@@ -27,6 +27,9 @@
|
|
|
#define kiCellRatio 74
|
|
|
#define kiCellDivision 3
|
|
|
|
|
|
+#define MASTER_TRANSFER_REQUEST @"R"
|
|
|
+#define MASTER_TRANSFER_CANCEL @"C"
|
|
|
+
|
|
|
/**
|
|
|
|
|
|
Head Text
|
|
|
@@ -69,7 +72,7 @@
|
|
|
NSArray<HomeMemberModel> *_memberList;
|
|
|
HomeMemberListModel *_responseInfo;
|
|
|
|
|
|
- BOOL _isNotFirstLoading, _isDeleteMode;
|
|
|
+ BOOL _isNotFirstLoading, _isDeleteMode, _isMasterTransferMode;
|
|
|
NSInteger _deviceFlag;
|
|
|
NSString *_masterNickname;
|
|
|
}
|
|
|
@@ -272,7 +275,8 @@
|
|
|
[_lblTitle setColor:kUITextColor03 text:[NSString stringWithFormat:@"초대 %zd", invitationCount]];
|
|
|
[_lblTitle setColor:kUITextColor01 text:@"/ 초대"];
|
|
|
}
|
|
|
-
|
|
|
+ _btnClose.hidden = YES;
|
|
|
+ _btnOption.hidden = NO;
|
|
|
[self setMoreBtnArray];
|
|
|
}
|
|
|
|
|
|
@@ -288,7 +292,13 @@
|
|
|
}
|
|
|
|
|
|
- (IBAction)btnCloseTouched:(id)sender {
|
|
|
-
|
|
|
+ if (_isDeleteMode) {
|
|
|
+ [self toggleEditMode];
|
|
|
+ }
|
|
|
+ if (_isMasterTransferMode) {
|
|
|
+ [self toggleMasterTransferMode];
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- (NSInteger)getNormalMemberCount
|
|
|
@@ -322,6 +332,47 @@
|
|
|
[self presentViewController:vc animated:YES completion:nil];
|
|
|
}
|
|
|
|
|
|
+- (void)toggleMasterTransferMode {
|
|
|
+ _isMasterTransferMode = !_isMasterTransferMode;
|
|
|
+ if(!_isMasterTransferMode) {
|
|
|
+ [self updateTitle];
|
|
|
+ } else {
|
|
|
+ BOOL isToggle = YES;
|
|
|
+ HomeMemberModel *requestMember;
|
|
|
+ for (HomeMemberModel *memberInfo in _memberList) {
|
|
|
+ if ([memberInfo.permissionTransferFlag isEquestToIgnoreCase:MASTER_TRANSFER_REQUEST]) {
|
|
|
+ requestMember = memberInfo;
|
|
|
+ isToggle = NO;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isToggle) {
|
|
|
+ _lblTitle.text = @"마스터 권한을 양도할 멤버 선택";
|
|
|
+ _imgvHubAlert.hidden = YES;
|
|
|
+ _btnClose.hidden = NO;
|
|
|
+ _btnOption.hidden = YES;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ NSString *name = requestMember.nickname;
|
|
|
+ if ([requestMember.nickname isEmptyString]) {
|
|
|
+ name = requestMember.memberId;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSString *msg = [NSString stringWithFormat:NSLocalizedString(@"%@멤버에게 신청된\n마스터 권한 양도를\n취소하시겠습니까?", @""), name];
|
|
|
+
|
|
|
+ [[JDFacade facade] confirmTitle:NSLocalizedString(@"마스터 권한 양도 취소", @"마스터 권한 양도 취소") message:msg completion:^(CustomAlertView *alertView, NSInteger buttonIndex) {
|
|
|
+ if (buttonIndex == 0) {
|
|
|
+ [self requestMasterTransfer:requestMember.memberId isRequest:NO];
|
|
|
+ }
|
|
|
+ }];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ [_collectionView reloadData];
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
- (void)toggleEditMode {
|
|
|
_isDeleteMode = !_isDeleteMode;
|
|
|
|
|
|
@@ -334,14 +385,17 @@
|
|
|
} else {
|
|
|
_lblTitle.text = @"멤버 삭제";
|
|
|
_imgvHubAlert.hidden = YES;
|
|
|
+ _btnClose.hidden = NO;
|
|
|
+ _btnOption.hidden = YES;
|
|
|
}
|
|
|
|
|
|
[_collectionView reloadData];
|
|
|
- _constraintEditModeRight.constant = _isDeleteMode ? 0 : -_editModeView.width;
|
|
|
-
|
|
|
- [UIView animateWithDuration:kfAnimationDur animations:^{
|
|
|
- [self.view layoutIfNeeded];
|
|
|
- }];
|
|
|
+
|
|
|
+// _constraintEditModeRight.constant = _isDeleteMode ? 0 : -_editModeView.width;
|
|
|
+//
|
|
|
+// [UIView animateWithDuration:kfAnimationDur animations:^{
|
|
|
+// [self.view layoutIfNeeded];
|
|
|
+// }];
|
|
|
}
|
|
|
|
|
|
- (void)leaveHomegroup {
|
|
|
@@ -430,6 +484,30 @@
|
|
|
[self updateTitle];
|
|
|
}
|
|
|
|
|
|
+- (void)requestMasterTransfer:(NSString *)memberId isRequest:(BOOL)isRequst{
|
|
|
+ NSMutableDictionary *parameter = [NSMutableDictionary dictionary];
|
|
|
+ if (isRequst) {
|
|
|
+ parameter[@"after_member_id"] = memberId;
|
|
|
+ parameter[@"status"] = MASTER_TRANSFER_REQUEST;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ parameter[@"status"] = MASTER_TRANSFER_CANCEL;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSString *path = [[JDFacade facade] getUrlWithCustGroupIDAndMemberID:API_PUT_HOMEGROUP_MASTER_TRANSFER];
|
|
|
+
|
|
|
+ [[RequestHandler handler] sendAsyncPutRequestAPIPath:path parameters:parameter modelClass:[JDJSONModel class] completion:^(id responseObject) {
|
|
|
+
|
|
|
+ [self toggleMasterTransferMode];
|
|
|
+ [self requestHomeMemberList];
|
|
|
+
|
|
|
+ } failure:^(id errorObject) {
|
|
|
+ JDErrorModel *error = (JDErrorModel *)errorObject;
|
|
|
+ [[JDFacade facade] alert:error.errorMessage];
|
|
|
+ }];
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
- (void)requestDeleteMembers:(NSString *)memberIds invitations:(NSString *)invitations {
|
|
|
|
|
|
//parameters
|
|
|
@@ -525,13 +603,19 @@
|
|
|
[cell.lblStatus setColor:kUITextColor01 text:cell.lblStatus.text];
|
|
|
}
|
|
|
|
|
|
- cell.chkSelect.hidden = !(_isDeleteMode && [member.gradeCode isEqualToString:KNEET_MEMBER_SIMPLE] && _memberList.count > 1);
|
|
|
cell.chkSelect.value = member;
|
|
|
- cell.chkSelect.checked = [cell.chkSelect getCheckStatusFromValue];
|
|
|
+ cell.btnDelete.value = member;
|
|
|
+
|
|
|
+ cell.chkSelect.hidden = !(_isMasterTransferMode && [member.gradeCode isEqualToString:KNEET_MEMBER_SIMPLE] && _memberList.count > 1);
|
|
|
+ cell.chkSelect.value = member;
|
|
|
+// cell.chkSelect.checked = [cell.chkSelect getCheckStatusFromValue];
|
|
|
|
|
|
- cell.btnDelete.hidden = !(_isDeleteMode && [member.gradeCode isEqualToString:KNEET_MEMBER_SIMPLE] && _memberList.count > 1);
|
|
|
+ cell.btnDelete.hidden = !(_isDeleteMode && ![member.gradeCode isEqualToString:KNEET_MEMBER_MASTER] && _memberList.count > 1);
|
|
|
cell.btnDelete.value = member;
|
|
|
|
|
|
+ [cell.chkSelect addTarget:self action:@selector(btnTransferMaster:) forControlEvents:UIControlEventTouchUpInside];
|
|
|
+ [cell.btnDelete addTarget:self action:@selector(btnTransferMaster:) forControlEvents:UIControlEventTouchUpInside];
|
|
|
+
|
|
|
rcell = cell;
|
|
|
} else {
|
|
|
HomeMemberAddCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"AddCollectionCellIdentifier" forIndexPath:indexPath];
|
|
|
@@ -599,7 +683,8 @@
|
|
|
|
|
|
} else if ([member.memberTypeCode isEqualToString:KNEET_MEMBER_TYPE_INV]) {//초대중일 경우,
|
|
|
NSString *prefix = [invitationHistIds isEmptyString] ? ksEmptyString : @",";
|
|
|
- [invitationHistIds appendFormat:@"%@%@", prefix, member.invitationHistId];
|
|
|
+// [invitationHistIds appendFormat:@"%@%@", prefix, member.invitationHistId];
|
|
|
+ // TODO : 초대중일 경우에 처리하기
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -632,6 +717,29 @@
|
|
|
// [_selectedCoverIcon faceOffImage];
|
|
|
//}
|
|
|
|
|
|
+- (void)btnTransferMaster:(id)sender {
|
|
|
+ HomeMemberModel *memberInfo = (HomeMemberModel *) ((CustomCheckBox *)sender).value;
|
|
|
+ NSLog(@"Member Info : %@", memberInfo);
|
|
|
+
|
|
|
+ NSString *name = memberInfo.nickname;
|
|
|
+ if ([memberInfo.nickname isEmptyString]) {
|
|
|
+ name = memberInfo.memberId;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSString *msg = [NSString stringWithFormat:NSLocalizedString(@"%@멤버에게\n마스터 권한을\n양도하시겠습니까?", @""), name];
|
|
|
+
|
|
|
+ [[JDFacade facade] confirmTitle:NSLocalizedString(@"마스터 권한 양도", @"마스터 권한 양도") message:msg completion:^(CustomAlertView *alertView, NSInteger buttonIndex) {
|
|
|
+ if (buttonIndex == 0) {
|
|
|
+ [self requestMasterTransfer:memberInfo.memberId isRequest:YES];
|
|
|
+ }
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
+- (void)btnDeleteMember:(id)sender {
|
|
|
+ HomeMemberModel *memberInfo = (HomeMemberModel *) ((CustomButton *)sender).value;
|
|
|
+ NSLog(@"Member Info : %@", memberInfo);
|
|
|
+}
|
|
|
+
|
|
|
#pragma mark - MoreButtonDelegate
|
|
|
-(void)moreBtnAction:(id)sender
|
|
|
{
|
|
|
@@ -641,6 +749,7 @@
|
|
|
case MasterTransfer:
|
|
|
{
|
|
|
// TODO : 마스터 권한 양도 모드로 진입
|
|
|
+ [self toggleMasterTransferMode];
|
|
|
}
|
|
|
break;
|
|
|
case AddMember:
|