ChangeEmailPopupView.m 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. //
  2. // ChangeEmailPopupView.m
  3. // OneCable
  4. //
  5. // Created by Jason Lee on 01/14/16.
  6. // Copyright (c) 2016 ntels. All rights reserved.
  7. //
  8. #import "JDObject.h"
  9. #import "RequestHandler.h"
  10. #import "JDJSONModel.h"
  11. #import "CustomLabel.h"
  12. #import "CustomTextField.h"
  13. #import "ValidateUtil.h"
  14. #import "ChangeEmailPopupView.h"
  15. @interface ChangeEmailPopupView () <CustomTextFieldDelegate>
  16. {
  17. }
  18. @end
  19. @implementation ChangeEmailPopupView
  20. - (id)initFromNib {
  21. for (UIView *view in [CommonUtil nibViews:@"ChangeEmailPopupView"]) {
  22. if ([view isKindOfClass:[ChangeEmailPopupView class]]) {
  23. self = (ChangeEmailPopupView *)view;
  24. //XIB의 경우, 현재 화면 사이즈로 맞춰줘야 함.
  25. self.frame = [UIScreen mainScreen].bounds;
  26. _txtTempEmail.keyboardType = UIKeyboardTypeEmailAddress;
  27. _txtTempEmail.returnKeyType = UIReturnKeyDone;
  28. //Localization
  29. [self.btnConfirm setTitle:NSLocalizedString(@"확인", @"확인") forState:UIControlStateNormal];
  30. [self.btnCancel setTitle:NSLocalizedString(@"취소", @"취소") forState:UIControlStateNormal];
  31. }
  32. }
  33. return self;
  34. }
  35. - (void)didMoveToSuperview {
  36. _txtTempEmail.customTextFieldSuperview = CustomTextFieldSuperviewIsPopupContentView;
  37. }
  38. #pragma mark - Main Logic
  39. - (void)requestChangeEmail {
  40. //parameters
  41. NSDictionary *parameter = @{@"new_email_id": _txtTempEmail.text};
  42. NSString *path = [NSString stringWithFormat:API_POST_MEMBER_UPDATE, [JDFacade facade].loginUser.memberId, @"email"];
  43. [[RequestHandler handler] sendAsyncPostRequestAPIPath:path parameters:parameter modelClass:[JDJSONModel class] completion:^(id responseObject) {
  44. [JDFacade facade].tmpEmailId = _txtTempEmail.text;
  45. [super btnConfirmTouched:nil];
  46. NSString *message1 = [NSString stringWithFormat:@"%@에서\n인증 메일을 확인하세요", [JDFacade facade].tmpEmailId];
  47. NSString *message2 = @"\n\n메일을 확인할 수 없는 경우에는\n스팸 메일함을 확인해보세요";
  48. CustomAlertView *alert = [[CustomAlertView alloc] initWithTitle:@"메일을 확인하세요" message:[NSString stringWithFormat:@"%@%@", message1, message2] delegate:nil OKButtonTitle:@"확인" cancelButtonTitle:nil];
  49. [alert.lblMessage1 setColor:kUITextColor02 text:message1];
  50. [alert show];
  51. } failure:^(id errorObject) {
  52. JDErrorModel *error = (JDErrorModel *)errorObject;
  53. [[JDFacade facade] alert:error.errorMessage];
  54. }];
  55. }
  56. #pragma mark - UI Events
  57. - (IBAction)btnConfirmTouched:(id)sender {
  58. //validate
  59. if (![ValidateUtil validateTextfiled:_txtTempEmail type:ValidateTypeEmail title:@"이메일"]) {
  60. return;
  61. }
  62. [self requestChangeEmail];
  63. }
  64. #pragma mark - CustomTextField
  65. - (BOOL)textFieldShouldReturn:(UITextField *)textField {
  66. if ([textField isEqual:_txtTempEmail]) {
  67. [self btnConfirmTouched:nil];
  68. }
  69. return YES;
  70. }
  71. @end