| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367 |
- //
- // SignUpViewController.m
- // kneet
- //
- // Created by Jason Lee on 4/23/15.
- // Copyright (c) 2015 ntels. All rights reserved.
- //
- #import "JDObject.h"
- #import "RequestHandler.h"
- #import "JDJSONModel.h"
- #import "CustomLabel.h"
- #import "CustomCheckBox.h"
- #import "CustomTextField.h"
- #import "CustomButton.h"
- #import "ValidateUtil.h"
- #import "UIButton+WebCache.h"
- #import "WebBrowseViewController.h"
- #import "SignUpViewController.h"
- #import "ImageUtil.h"
- #import "CustomAlertView.h"
- @implementation SignUpProfileTableViewCell
- @end
- @implementation SignUpNameTableViewCell
- - (void)didMoveToSuperview {
- _txtNickname.placeholder = NSLocalizedString(@"이름", @"이름");
-
- _txtNickname.keyboardType = UIKeyboardTypeDefault;
- _txtNickname.returnKeyType = UIReturnKeyDone;
-
- _txtNickname.autoScrollUp = YES;
- _txtNickname.customTextFieldSuperview = CustomTextFieldSuperviewIsViewController;
- }
- @end
- @implementation SignUpEmailTableViewCell
- - (void)didMoveToSuperview {
- _txtEmail.placeholder = NSLocalizedString(@"이메일", @"이메일");
-
- _txtEmail.keyboardType = UIKeyboardTypeEmailAddress;
- _txtEmail.returnKeyType = UIReturnKeyDone;
-
- _txtEmail.autoScrollUp = YES;
- _txtEmail.customTextFieldSuperview = CustomTextFieldSuperviewIsViewController;
- }
- @end
- @implementation SignUpPasswdTableViewCell
- - (void)didMoveToSuperview {
- _txtPasswd.placeholder = NSLocalizedString(@"비밀번호", @"비밀번호");
-
- _txtPasswd.keyboardType = UIKeyboardTypeDefault;
- _txtPasswd.returnKeyType = UIReturnKeyDone;
- _txtPasswd.secureTextEntry = YES;
-
- _txtPasswd.autoScrollUp = YES;
- _txtPasswd.customTextFieldSuperview = CustomTextFieldSuperviewIsViewController;
- }
- @end
- @implementation SignUpPGuideTableViewCell
- @end
- @implementation SignUpPasswdConfirmTableViewCell
- - (void)didMoveToSuperview {
-
- _txtPasswdConfirm.placeholder = NSLocalizedString(@"비밀번호 확인", @"비밀번호 확인");
-
- _txtPasswdConfirm.keyboardType = UIKeyboardTypeDefault;
- _txtPasswdConfirm.secureTextEntry = YES;
- _txtPasswdConfirm.returnKeyType = UIReturnKeyDone;
-
- _txtPasswdConfirm.autoScrollUp = YES;
- _txtPasswdConfirm.customTextFieldSuperview = CustomTextFieldSuperviewIsViewController;
- }
- @end
- @interface SignUpViewController () <ImageUtilDelegate, CustomTextFieldDelegate> {
- CustomTextField *_txtNickname, *_txtEmail, *_txtPasswd, *_txtPasswdConfirm;
- CustomButton *_btnProfile;
-
- ImageUtil *_imageUtil;
- }
- @end
- #pragma mark - Class Definition
- @implementation SignUpViewController
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view.
- [self initUI];
- [self prepareViewDidLoad];
- }
- - (void)viewWillAppear:(BOOL)animated {
- [super viewWillAppear:animated];
-
- }
- - (void)initUI {
-
- [self initTableViewAsDefaultStyle:_tableView];
-
- _txtPasswd.customTextFieldSuperview = CustomTextFieldSuperviewIsChildViewController;
- //Localization
- [_btnSignUp setTitle:NSLocalizedString(@"완료", @"완료") forState:UIControlStateNormal];
- }
- - (void)prepareViewDidLoad {
- }
- #pragma mark - Main Logic
- - (void)requestSignUp {
- // UIViewController *vc = [CommonUtil instantiateViewControllerWithIdentifier:@"SignUpInfoViewController" storyboardName:@"SignUp"];
- // [self.navigationController pushViewController:vc animated:YES];
- // return;
- // get gmt time like +09:00
- // float timezoneoffset = ([[NSTimeZone systemTimeZone] secondsFromGMT] / 3600.0);
- //
- // NSDateComponents *ds = [CommonUtil dateComponents:[NSDate date]];
- // ds.hour = (NSInteger)timezoneoffset;
- // NSDate *tmpDate = [[NSCalendar currentCalendar] dateFromComponents:ds];
- // NSDateFormatter *dateFormat = [CommonUtil dateFormatter];
- // [dateFormat setDateFormat:@"Z"];
- // NSMutableString *dateString = [NSMutableString stringWithString:[dateFormat stringFromDate:[NSDate date]]];
- // [dateString insertString:@":" atIndex:dateString.length-2];
- //parameters
- NSDictionary *parameter = @{@"nickname" : _txtNickname.text,
- @"email_id" : _txtEmail.text,
- @"password" : _txtPasswd.text,
- @"service_id" : MOBILE_SERVICE_ID,
- @"os_type" : MOBILE_DEVICE_TYPE,
- @"country_code" : [CommonUtil countryCode],
- @"timezone_name": [NSTimeZone localTimeZone].name,
- @"image_file": [_btnProfile backgroundImageForState:UIControlStateNormal]};
- [[RequestHandler handler] sendAsyncPostRequestAPIPath:@"" parameters:parameter modelClass:[LoginModel class] completion:^(id responseObject) {
- if (!responseObject) {//응답결과가 잘못되었거나 없을 경우,
- return;
- }
- LoginModel *result = (LoginModel *) responseObject;
- if (result) {//API 성공 ,
- //이메일, 이메일 키 저장
- [JDFacade facade].tmpEmailId = _txtEmail.text;
- NSString *message1 = [NSString stringWithFormat:@"%@에서\n인증 메일을 확인하세요", [JDFacade facade].tmpEmailId];
- NSString *message2 = @"\n\n메일을 확인할 수 없는 경우에는\n스팸 메일함을 확인해보세요";
- CustomAlertView *alert = [[CustomAlertView alloc] initWithTitle:@"메일을 확인하세요" message:[NSString stringWithFormat:@"%@%@", message1, message2] delegate:nil OKButtonTitle:@"확인" cancelButtonTitle:nil];
- [alert.lblMessage1 setColor:kUITextColor02 text:message1];
-
- [alert showWithCompletion:^(CustomAlertView *alertView, NSInteger buttonIndex) {
- if (buttonIndex == 0) {//OK
- [[JDFacade facade] dismissModalStack:YES completion:nil];
- }
- }];
- }
- } failure:^(id errorObject) {
-
- JDErrorModel *error = (JDErrorModel *)errorObject;
- [[JDFacade facade] alert:error.errorMessage];
- }];
- }
- #pragma mark - UITableView DataSource & Delegate
- - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
- return 1;
- }
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
- return 6;
- }
- - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
- CGFloat height = 40.0f;
-
- if (indexPath.row == 0) {
- height = 120.0f;
- }
-
- return height;
- }
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
-
- UITableViewCell *cell = nil;
-
- if (indexPath.row == 0) {
-
- SignUpProfileTableViewCell *tcell = (SignUpProfileTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"ProfileCellIdentifier"];
- if (!_btnProfile) {
- _btnProfile = tcell.btnProfile;
- }
- if (![_btnProfile actionsForTarget:self forControlEvent:UIControlEventTouchUpInside]) {
- [_btnProfile addTarget:self action:@selector(btnProfileTouched:) forControlEvents:UIControlEventTouchUpInside];
- }
-
- if (![tcell.btnSetProfile actionsForTarget:self forControlEvent:UIControlEventTouchUpInside]) {
- [tcell.btnSetProfile addTarget:self action:@selector(btnProfileTouched:) forControlEvents:UIControlEventTouchUpInside];
- }
-
- cell = tcell;
-
- } else if (indexPath.row == 1) {
- SignUpNameTableViewCell *tcell = (SignUpNameTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"NameCellIdentifier"];
- if (!_txtNickname) {
- _txtNickname = tcell.txtNickname;
- _txtNickname.delegate = self;
- }
-
- cell = tcell;
- } else if (indexPath.row == 2) {
- SignUpEmailTableViewCell *tcell = (SignUpEmailTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"EmailCellIdentifier"];
- if (!_txtEmail) {
- _txtEmail = tcell.txtEmail;
- _txtEmail.delegate = self;
- }
-
- cell = tcell;
-
- } else if (indexPath.row == 3) {
- SignUpPasswdTableViewCell *tcell = (SignUpPasswdTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"PasswdCellIdentifier"];
- if (!_txtPasswd) {
- _txtPasswd = tcell.txtPasswd;
- _txtPasswd.delegate = self;
- }
- cell = tcell;
- } else if (indexPath.row == 4) {
- SignUpPGuideTableViewCell *tcell = (SignUpPGuideTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"PGuideCellIdentifier"];
- cell = tcell;
-
- } else if (indexPath.row == 5) {
- SignUpPasswdConfirmTableViewCell *tcell = (SignUpPasswdConfirmTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"PasswdConfirmCellIdentifier"];
- if (!_txtPasswdConfirm) {
- _txtPasswdConfirm = tcell.txtPasswdConfirm;
- _txtPasswdConfirm.delegate = self;
- }
-
- cell = tcell;
- }
-
- return cell;
- }
- - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
- [super tableView:tableView didSelectRowAtIndexPath:indexPath];
- }
- #pragma mark - ImageUtil Delegate
- - (void)didFinishPickingImage:(UIImage *)image {
-
- // UIImage *maskImage = [ImageUtil resizeImage:[UIImage imageNamed:@"common_mask_circle"] width:65 height:65];
- // UIImage *thumbImage = [ImageUtil getMaskedImageWithSourchImage:image andMaskImage:maskImage];
-
- [_btnProfile setBackgroundImage:image forState:UIControlStateNormal];
- }
- #pragma mark - UI Events
- - (void)btnProfileTouched:(id)sender {
- if (!_imageUtil) {
- _imageUtil = [[ImageUtil alloc] init];
- _imageUtil.delegate = self;
- }
-
- [_imageUtil prepareImagePicker:self];
- }
- - (IBAction)btnSignUpTouched:(id)sender {
- #ifndef DEBUG
- if (![ValidateUtil validateTextfiled:_txtNickname type:ValidateTypeNickname title:@"이름"]) {
- return;
- }
-
- if (![ValidateUtil validateTextfiled:_txtEmail type:ValidateTypeEmail title:NSLocalizedString(@"이메일", @"이메일")]) {
- return;
- }
-
- if (![ValidateUtil validateTextfiled:_txtPasswd type:ValidateTypePassword title:NSLocalizedString(@"비밀번호", @"비밀번호")]) {
- return;
- }
-
- if (![_txtPasswd.text isEqualToString:_txtPasswdConfirm.text]) {
- [[JDFacade facade] alert:NSLocalizedString(@"재입력된 비밀번호가 다릅니다.", @"재입력된 비밀번호가 다릅니다.")];
- return;
- }
- #else
- if ([_txtEmail.text isEmptyString]) {
- NSInteger rand = [CommonUtil dateComponents:[NSDate date]].second;
- _txtEmail.text = [NSString stringWithFormat:@"evoue%zd@ncomz.com", rand];
- }
-
- if ([_txtNickname.text isEmptyString]) {
- _txtNickname.text = @"이형석";
- }
-
- _txtPasswd.text = @"goj132!#@";
- #endif
- [self requestSignUp];
- }
- - (IBAction)btnCancelTouched:(id)sender {
- [self dismissViewControllerAnimated:YES completion:nil];
- }
- #pragma mark - CustomTextField Delegate
- - (void)textFieldDidEndEditing:(UITextField *)textField {
- // if ([_txtNickname isEqual:textField]) {
- // [ValidateUtil validateTextfiled:_txtNickname type:ValidateTypeNickname title:@"이름"];
- //
- // } else if ([_txtEmail isEqual:textField]) {
- // [ValidateUtil validateTextfiled:_txtEmail type:ValidateTypeEmail title:NSLocalizedString(@"이메일", @"이메일")];
- //
- // } else if ([_txtPasswd isEqual:textField]) {
- // [ValidateUtil validateTextfiled:_txtPasswd type:ValidateTypePassword title:NSLocalizedString(@"비밀번호", @"비밀번호")];
- //
- // } else if ([_txtPasswdConfirm isEqual:textField]) {
- // [ValidateUtil validateTextfiled:_txtPasswdConfirm type:ValidateTypePassword title:NSLocalizedString(@"비밀번호 확인", @"비밀번호 확인")];
- // }
- }
- #pragma mark - MemoryWarning
- - (void)didReceiveMemoryWarning
- {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
- }
- @end
|