Commit 915e7d0c7ae8d56474c852a2d57ed9c9d68a781c

Authored by phong
1 parent a0a95e2012

update api register

Showing 3 changed files with 122 additions and 0 deletions Side-by-side Diff

LifeLog/LifeLog/ConfirmForgetPassViewController.h
  1 +//
  2 +// ConfirmForgetPassViewController.h
  3 +// LifeLog
  4 +//
  5 +// Created by Panasonic R&D Center Vietnam on 8/2/17.
  6 +// Copyright © 2017 PhongNV. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface ConfirmForgetPassViewController : UIViewController
  12 +@property (nonatomic, strong) NSString *email;
  13 +@end
LifeLog/LifeLog/ConfirmForgetPassViewController.m
  1 +//
  2 +// ConfirmForgetPassViewController.m
  3 +// LifeLog
  4 +//
  5 +// Created by Panasonic R&D Center Vietnam on 8/2/17.
  6 +// Copyright © 2017 PhongNV. All rights reserved.
  7 +//
  8 +
  9 +#import "ConfirmForgetPassViewController.h"
  10 +#import "ServerAPI.h"
  11 +#import "Utilities.h"
  12 +
  13 +@interface ConfirmForgetPassViewController ()
  14 +@property (nonatomic, weak) IBOutlet UITextField *tfConfirm;
  15 +@property (nonatomic, weak) IBOutlet UIButton *btnConfirm;
  16 +@end
  17 +
  18 +@implementation ConfirmForgetPassViewController
  19 +
  20 +- (void)viewDidLoad {
  21 + [super viewDidLoad];
  22 + // Do any additional setup after loading the view from its nib.
  23 + self.title = @"Confirm Forget Password";
  24 +
  25 + [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.tfConfirm attribute:NSLayoutAttributeTop multiplier:1 constant:-30]];
  26 +}
  27 +
  28 +- (void)didReceiveMemoryWarning {
  29 + [super didReceiveMemoryWarning];
  30 + // Dispose of any resources that can be recreated.
  31 +}
  32 +
  33 +- (IBAction)buttonConfirmTouchUpInside:(id)sender {
  34 + if (_tfConfirm.text.length > 0) {
  35 + ConfirmForgetPassViewController __weak *weakSelf = self;
  36 + [[ServerAPI server] confirmForgetPass:self.email withConfirm:self.tfConfirm.text CompletionHandler:^(NSError *error) {
  37 + if (error == nil) {
  38 + // back screen Login
  39 + dispatch_async(dispatch_get_main_queue(), ^{
  40 + [weakSelf.navigationController popViewControllerAnimated:YES];
  41 + });
  42 + }
  43 + else {
  44 + dispatch_async(dispatch_get_main_queue(), ^{
  45 + NSString *message = [error.userInfo objectForKey:@"message"];
  46 + [Utilities showErrorMessage:message withViewController:weakSelf];
  47 + });
  48 + }
  49 + }];
  50 + }
  51 + else {
  52 + [Utilities showErrorMessage:@"Please input code confirm" withViewController:self];
  53 + }
  54 +}
  55 +
  56 +@end
LifeLog/LifeLog/ConfirmForgetPassViewController.xib
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12120" systemVersion="16F73" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12088"/>
  8 + <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
  9 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  10 + </dependencies>
  11 + <objects>
  12 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ConfirmForgetPassViewController">
  13 + <connections>
  14 + <outlet property="btnConfirm" destination="pl4-fa-Poj" id="XyC-QE-8Jn"/>
  15 + <outlet property="tfConfirm" destination="ham-LV-cWN" id="Zxl-4z-x2u"/>
  16 + <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
  17 + </connections>
  18 + </placeholder>
  19 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  20 + <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
  21 + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
  22 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  23 + <subviews>
  24 + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ham-LV-cWN">
  25 + <rect key="frame" x="20" y="30" width="335" height="30"/>
  26 + <nil key="textColor"/>
  27 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  28 + <textInputTraits key="textInputTraits"/>
  29 + </textField>
  30 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pl4-fa-Poj">
  31 + <rect key="frame" x="104" y="70" width="167.5" height="30"/>
  32 + <constraints>
  33 + <constraint firstAttribute="height" constant="30" id="QuE-pa-iyz"/>
  34 + </constraints>
  35 + <state key="normal" title="Confirm"/>
  36 + <connections>
  37 + <action selector="buttonConfirmTouchUpInside:" destination="-1" eventType="touchUpInside" id="79P-c3-yj5"/>
  38 + </connections>
  39 + </button>
  40 + </subviews>
  41 + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  42 + <constraints>
  43 + <constraint firstItem="ham-LV-cWN" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="30" placeholder="YES" id="M0L-Jj-GBY"/>
  44 + <constraint firstItem="pl4-fa-Poj" firstAttribute="top" secondItem="ham-LV-cWN" secondAttribute="bottom" constant="10" id="SxH-63-d17"/>
  45 + <constraint firstItem="pl4-fa-Poj" firstAttribute="centerX" secondItem="ham-LV-cWN" secondAttribute="centerX" id="kYe-pD-TqE"/>
  46 + <constraint firstItem="pl4-fa-Poj" firstAttribute="width" secondItem="ham-LV-cWN" secondAttribute="width" multiplier="1/2" id="rS8-A5-BwH"/>
  47 + <constraint firstItem="ham-LV-cWN" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="x3v-m3-6de"/>
  48 + <constraint firstAttribute="trailing" secondItem="ham-LV-cWN" secondAttribute="trailing" constant="20" id="yUu-GA-PYo"/>
  49 + </constraints>
  50 + <point key="canvasLocation" x="32.5" y="67.5"/>
  51 + </view>
  52 + </objects>
  53 +</document>