瀏覽代碼

增加Notify Me按钮,并实现方法。
Network增加Notify Me接口。

Pen Li 9 年之前
父節點
當前提交
db2d3ed132

二進制
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/macmini1.xcuserdatad/UserInterfaceState.xcuserstate


+ 2 - 0
RedAnt ERP Mobile/common/Functions/modelDetail/DetailHeaderCell.h

@@ -65,6 +65,8 @@
 @property (strong, nonatomic) IBOutlet UIButton *btnaddCart;
 @property (strong, nonatomic) IBOutlet UIButton *btnaddWish;
 @property (strong, nonatomic) IBOutlet UIButton *btnaddPortfolio;
+@property (strong, nonatomic) IBOutlet UIButton *btnNotifyMe;
+@property (nonatomic,copy) void(^notifyMeBlock)();
 
 @property (strong, nonatomic) IBOutlet UILabel *eta_label;
 

+ 9 - 0
RedAnt ERP Mobile/common/Functions/modelDetail/DetailHeaderCell.m

@@ -1272,4 +1272,13 @@
     }
 }
 
+- (IBAction)notifyMeButtonClicked:(UIButton *)sender {
+    
+    if (self.notifyMeBlock) {
+        self.notifyMeBlock();
+    }
+    
+}
+
+
 @end

+ 126 - 5
RedAnt ERP Mobile/common/Functions/modelDetail/DetailViewController.m

@@ -22,7 +22,7 @@
 #import "QRCodeGenerator.h"
 #import "DefaultTableHeaderView.h"
 #import "DefaultAppearance.h"
-
+#import "JKMessageBoxController.h"
 
 
 #define  DEF_CELL_HEIGHT 44
@@ -38,6 +38,7 @@
 
 @interface DetailViewController ()
 @property (nonatomic,strong) UIBezierPath *path;
+
 @end
 
 
@@ -957,10 +958,63 @@ self.isrefreshing=false;
        
         if (appDelegate.user && appDelegate.user_type == USER_ROLE_CUSTOMER) {
             cell.btnaddPortfolio.hidden = YES;
-            CGRect wishListFrame = cell.btnaddWish.frame;
-            CGRect cartFrame = cell.btnaddCart.frame;
-            cartFrame.origin.x = wishListFrame.origin.x;
-            cell.btnaddCart.frame = cartFrame;
+//            CGRect wishListFrame = cell.btnaddWish.frame;
+//            CGRect cartFrame = cell.btnaddCart.frame;
+//            cartFrame.origin.x = wishListFrame.origin.x;
+//            cell.btnaddCart.frame = cartFrame;
+            __weak typeof(self) weakself = self;
+            cell.notifyMeBlock = ^{
+                
+                NSString *emailAddr = [appDelegate.customerInfo valueForKey:@"customer_email"];
+                
+                if (!emailAddr.length) {
+                    
+                    [self showEmailAddrBox];
+                    
+                } else {
+                    
+                    UIAlertView *waitting_alert = [RAUtils waiting_alert:@"Sending Email" title:@"Waitting"];
+                    dispatch_async(dispatch_get_global_queue(0,0), ^{
+                       
+                        NSDictionary *dic = [iSalesNetwork notifyModel:self.product_id emailAddr:nil];
+                            
+                        dispatch_async(dispatch_get_main_queue(), ^{
+                            
+                            [waitting_alert dismissWithClickedButtonIndex:0 animated:YES];
+                            
+                            if ([[dic valueForKey:@"result"] integerValue] != RESULT_TRUE) {
+                                
+                                UIAlertController *errorAlertVC = [UIAlertController alertControllerWithTitle:@"Warning" message:[NSString stringWithFormat:@"The email send to %@ failed",emailAddr] preferredStyle:UIAlertControllerStyleAlert];
+                                UIAlertAction *action = [UIAlertAction actionWithTitle:@"ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+                                    
+                                }];
+                                
+                                [errorAlertVC addAction:action];
+                                [weakself presentViewController:errorAlertVC animated:YES completion:nil];
+                            
+                            } else {
+                                
+                            }
+                        });
+                        
+                        
+                    });
+                    
+                }
+                
+            };
+            
+            cell.btnNotifyMe.layer.borderColor = [UIColor blackColor].CGColor;
+            cell.btnNotifyMe.layer.borderWidth = 1.0f;
+            cell.btnNotifyMe.layer.cornerRadius = 3.0f;
+            cell.btnNotifyMe.layer.masksToBounds = YES;
+            NSString *qtyStr = [section_json valueForKey:@"Availability"];
+            if ([qtyStr isEqualToString:@"In Production"] || [qtyStr isEqualToString:@"0"] ) {
+                cell.btnaddCart.enabled = NO;
+            }
+            
+        } else {
+            cell.btnNotifyMe.hidden = YES;
         }
         
         
@@ -1722,4 +1776,71 @@ self.isrefreshing=false;
     [self presentViewController:alertController animated:YES completion:nil];
 }
 
+#pragma mark - action
+
+- (void)showEmailAddrBox {
+    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
+    
+    JKMessageBoxController *emailAddrVC = [JKMessageBoxController messageBoxControllerWithTip:@"Please enter email address"];
+    emailAddrVC.textFiled.secureTextEntry = NO;
+    emailAddrVC.yesButtonTitle = @"send";
+    
+    __weak typeof(emailAddrVC) weakVC = emailAddrVC;
+    __weak typeof(self) weakself = self;
+    
+    emailAddrVC.textHandler = ^(NSString *text){
+        
+        // 验证邮箱格式是否正确
+        NSString *match = @"^[A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{2,5}$";
+        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",match];
+        BOOL isEmailAddr = [predicate evaluateWithObject:text];
+        if (isEmailAddr) {
+            
+            // 验证是邮件地址,发送邮件
+            [weakVC dismissViewControllerAnimated:YES completion:^{
+                
+                UIAlertView *waitting_alert = [RAUtils waiting_alert:@"Sending Email" title:@"Waitting"];
+                
+                dispatch_async(dispatch_get_global_queue(0, 0), ^{
+                    
+                    NSDictionary *result = [iSalesNetwork notifyModel:weakself.product_id emailAddr:text];
+                    DebugLog(@"email cart result: %@",result);
+                    dispatch_async(dispatch_get_main_queue(), ^{
+                        
+                        [waitting_alert dismissWithClickedButtonIndex:0 animated:YES];
+                        
+                        if ([[result objectForKey:@"result"] integerValue] != RESULT_TRUE) {
+                            
+                            UIAlertController *errorAlertVC = [UIAlertController alertControllerWithTitle:@"Warning" message:[NSString stringWithFormat:@"The email send to %@ failed",text] preferredStyle:UIAlertControllerStyleAlert];
+                            UIAlertAction *action = [UIAlertAction actionWithTitle:@"ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+                                
+                            }];
+                            
+                            [errorAlertVC addAction:action];
+                            [weakself presentViewController:errorAlertVC animated:YES completion:nil];
+                            
+                        }else {
+                            
+                            
+                            
+                        }
+                        
+                    });
+                    
+                });
+                
+            }];
+            
+        } else {
+            
+            // 非邮件地址,警告
+            [weakVC warning:@"Please enter right email address"];
+            
+        }
+        
+    };
+    
+    [self presentViewController:emailAddrVC animated:YES completion:nil];
+}
+
 @end

+ 2 - 0
RedAnt ERP Mobile/common/data_provider/iSalesNetwork.h

@@ -141,4 +141,6 @@
 
 + (NSDictionary *)quoteOrder:(NSString *)so_id emailAddr:(NSString *)addr;// email cart as quote
 
++ (NSDictionary *)notifyModel:(NSString *)modelID emailAddr:(NSString *)addr;
+
 @end

+ 39 - 0
RedAnt ERP Mobile/common/data_provider/iSalesNetwork.m

@@ -3944,4 +3944,43 @@ repeat:
     return @{@"result" : @(RESULT_FALSE)};
 }
 
++ (NSDictionary *)notifyModel:(NSString *)modelID emailAddr:(NSString *)addr{
+    
+    NSMutableDictionary* dic = [[NSMutableDictionary alloc] init];
+    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+    if(appDelegate.user!=nil)
+        [dic setValue:appDelegate.user forKey:@"user"];
+    
+    if(appDelegate.password!=nil)
+        [dic setValue:appDelegate.password forKey:@"password"];
+    
+    [dic setValue:modelID forKey:@"productId"];
+    if (addr) {
+        [dic setValue:addr forKey:@"email"];
+    }
+    
+    NSData* json=nil;
+    if(appDelegate.offline_mode)
+    {
+        return [OLDataProvider offline_notimpl];
+    }
+    else
+    {
+        if(![self IsNetworkAvailable])
+            return [RAUtils error_json:RESULT_NET_NOTAVAILABLE err_msg:nil];
+        
+        json = [iSalesNetwork get_json:URL_NOTIFY_ME parameters:dic];
+    }
+    if(json!=nil)
+    {
+        NSError *error=nil;
+        NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
+        
+        
+        return jsobj;
+    }
+    
+    return @{@"result" : @(RESULT_FALSE)};
+}
+
 @end

+ 46 - 35
RedAnt ERP Mobile/iSales-NPD/Base.lproj/Main.storyboard

@@ -953,27 +953,27 @@
                                 <inset key="separatorInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
                                 <prototypes>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="DetailHeaderCell" rowHeight="550" id="PCZ-Ci-oQf" customClass="DetailHeaderCell">
-                                        <rect key="frame" x="0.0" y="56" width="768" height="550"/>
+                                        <rect key="frame" x="0.0" y="55.5" width="768" height="550"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="PCZ-Ci-oQf" id="DiR-eY-PiR">
-                                            <frame key="frameInset" width="768" height="549"/>
+                                            <frame key="frameInset" width="768" height="549.5"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="USD 123.45" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="fD8-Km-IT3">
-                                                    <frame key="frameInset" minY="19.69%" width="192" height="26" maxX="51"/>
+                                                    <frame key="frameInset" minY="19.68%" width="192" height="26" maxX="51"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="21"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <pageControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" numberOfPages="3" id="dlZ-DL-v21">
-                                                    <frame key="frameInset" minX="11.16%" minY="91.02%" width="320" height="37"/>
+                                                    <frame key="frameInset" minX="11.16%" minY="90.93%" width="320" height="37"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <color key="pageIndicatorTintColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <color key="currentPageIndicatorTintColor" red="0.33333333333333331" green="0.33333333333333331" blue="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 </pageControl>
                                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="FwX-9Z-HgC">
-                                                    <frame key="frameInset" minY="29.15%" width="268" height="79" maxX="51"/>
+                                                    <frame key="frameInset" minY="29.12%" width="268" height="79" maxX="51"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <state key="normal">
@@ -984,49 +984,49 @@
                                                     </connections>
                                                 </button>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Availability" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="81d-7O-22H">
-                                                    <frame key="frameInset" minY="50.85%" width="131" height="20" maxX="188"/>
+                                                    <frame key="frameInset" minY="50.80%" width="131" height="20" maxX="188"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Incoming stock" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="fNy-qU-zpJ">
-                                                    <frame key="frameInset" minY="56.44%" width="131" height="21" maxX="188"/>
+                                                    <frame key="frameInset" minY="56.39%" width="131" height="21" maxX="188"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" restorationIdentifier="property" text="property" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="v0v-80-iIZ">
-                                                    <frame key="frameInset" minY="42.53%" width="131" height="20" maxX="188"/>
+                                                    <frame key="frameInset" minY="42.49%" width="131" height="20" maxX="188"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="count" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="U9s-Ng-Fzb">
-                                                    <frame key="frameInset" minY="50.85%" width="130" height="20" maxX="51"/>
+                                                    <frame key="frameInset" minY="50.80%" width="130" height="20" maxX="51"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="count" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="GP5-lh-dfh">
-                                                    <frame key="frameInset" minY="56.44%" width="130" height="21" maxX="51"/>
+                                                    <frame key="frameInset" minY="56.39%" width="130" height="21" maxX="51"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="prop val" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="EvS-UE-8Nb">
-                                                    <frame key="frameInset" minY="42.53%" width="130" height="20" maxX="51"/>
+                                                    <frame key="frameInset" minY="42.49%" width="130" height="20" maxX="51"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <view contentMode="scaleToFill" restorationIdentifier="PhotoStackView" id="xCF-6W-Mpc" customClass="PhotoStackView">
-                                                    <frame key="frameInset" minX="8.37%" minY="54.00%" width="350" height="349"/>
+                                                    <frame key="frameInset" minX="8.37%" minY="53.87%" width="350" height="349"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                 </view>
                                                 <imageView hidden="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" id="L3L-K2-xev">
@@ -1035,31 +1035,31 @@
                                                     <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 </imageView>
                                                 <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="selector_name" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="qoq-Cs-JnE">
-                                                    <frame key="frameInset" minX="70.82%" minY="28.73%" width="134" height="20"/>
+                                                    <frame key="frameInset" minX="70.82%" minY="28.71%" width="134" height="20"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="selector_val" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="h0i-f7-JHW">
-                                                    <frame key="frameInset" minX="77.82%" minY="34.22%" width="191" height="20"/>
+                                                    <frame key="frameInset" minX="77.82%" minY="34.18%" width="191" height="20"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" id="EY8-ki-JTY">
-                                                    <frame key="frameInset" minY="29.50%" width="70" height="71" maxX="247"/>
+                                                    <frame key="frameInset" minY="29.47%" width="70" height="71" maxX="247"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 </imageView>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Quantity" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Eh5-ug-TjC">
-                                                    <frame key="frameInset" minY="74.62%" width="66" height="21" maxX="253"/>
+                                                    <frame key="frameInset" minY="74.55%" width="66" height="21" maxX="253"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="8bl-N2-vQ8" customClass="DefaultImageButton">
-                                                    <frame key="frameInset" minY="95.49%" width="123" height="39" maxX="187"/>
+                                                    <frame key="frameInset" minY="95.40%" width="123" height="39" maxX="187"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <state key="normal" title="Add to portfolio" backgroundImage="btn_addtoportfolio">
                                                         <color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
@@ -1070,35 +1070,35 @@
                                                     </connections>
                                                 </button>
                                                 <stepper opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="1" minimumValue="1" maximumValue="100" id="CbC-vM-IGL">
-                                                    <frame key="frameInset" minY="75.00%" width="93" height="29" maxX="51"/>
+                                                    <frame key="frameInset" minY="74.93%" width="93" height="29" maxX="51"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                 </stepper>
                                                 <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="1" borderStyle="roundedRect" minimumFontSize="17" id="aRf-kp-OGg">
-                                                    <frame key="frameInset" minY="74.95%" width="60" height="30" maxX="153"/>
+                                                    <frame key="frameInset" minY="74.88%" width="60" height="30" maxX="153"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                                     <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
                                                 </textField>
                                                 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="select" id="tGi-MX-FEf">
-                                                    <frame key="frameInset" minY="31.43%" width="25" height="24" maxX="56"/>
+                                                    <frame key="frameInset" minY="31.40%" width="25" height="24" maxX="56"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                 </imageView>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ETA" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Usu-57-rC5">
-                                                    <frame key="frameInset" minY="61.93%" width="30" height="21" maxX="289"/>
+                                                    <frame key="frameInset" minY="61.87%" width="30" height="21" maxX="289"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Ydc-b8-vOC">
-                                                    <frame key="frameInset" minY="61.93%" width="130" height="21" maxX="51"/>
+                                                    <frame key="frameInset" minY="61.87%" width="130" height="21" maxX="51"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Model QTY in Cart" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="g3j-Vx-s9x">
-                                                    <frame key="frameInset" minY="67.42%" width="263" height="21" maxX="56"/>
+                                                    <frame key="frameInset" minY="67.36%" width="263" height="21" maxX="56"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -1112,19 +1112,19 @@
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <view contentMode="scaleToFill" id="HE5-zj-CRh" userLabel="Description RTLabel" customClass="RTLabel">
-                                                    <frame key="frameInset" minX="4.56%" minY="7.90%" width="90.76%" height="55"/>
+                                                    <frame key="frameInset" minX="4.56%" minY="7.89%" width="90.76%" height="55"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 </view>
                                                 <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Price:" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="tuB-FV-n4t">
-                                                    <frame key="frameInset" minY="19.69%" width="74" height="26" maxX="245"/>
+                                                    <frame key="frameInset" minY="19.68%" width="74" height="26" maxX="245"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="21"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="AHJ-EJ-V5A" customClass="DefaultImageButton">
-                                                    <frame key="frameInset" minY="95.49%" width="124" height="39" maxX="54"/>
+                                                    <frame key="frameInset" minY="95.40%" width="124" height="39" maxX="54"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <state key="normal" title="Add to wish list" backgroundImage="btn_addtowish">
@@ -1141,7 +1141,7 @@
                                                     </connections>
                                                 </button>
                                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="P9c-rP-A3n" customClass="DefaultImageButton">
-                                                    <frame key="frameInset" minY="86.28%" width="124" height="39" maxX="121"/>
+                                                    <frame key="frameInset" minY="86.19%" width="124" height="39" maxX="121"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="22"/>
                                                     <state key="normal" title="Add to cart" backgroundImage="btn_addtocart_large">
@@ -1153,16 +1153,27 @@
                                                     </connections>
                                                 </button>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="uvh-e3-ZNr">
-                                                    <frame key="frameInset" minY="29.92%" width="147" height="61" maxX="88"/>
+                                                    <frame key="frameInset" minY="29.89%" width="147" height="61" maxX="88"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
+                                                <button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="k7m-sd-nvE">
+                                                    <frame key="frameInset" minY="94.86%" width="124" height="34" maxX="186"/>
+                                                    <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
+                                                    <state key="normal" title="Notify Me">
+                                                        <color key="titleColor" red="0.60000002379999995" green="0.40000000600000002" blue="0.20000000300000001" alpha="1" colorSpace="calibratedRGB"/>
+                                                    </state>
+                                                    <connections>
+                                                        <action selector="notifyMeButtonClicked:" destination="PCZ-Ci-oQf" eventType="touchUpInside" id="KXc-5S-RRJ"/>
+                                                    </connections>
+                                                </button>
                                             </subviews>
                                         </tableViewCellContentView>
                                         <inset key="separatorInset" minX="15" minY="0.0" maxX="0.0" maxY="0.0"/>
                                         <connections>
+                                            <outlet property="btnNotifyMe" destination="k7m-sd-nvE" id="Pwc-CF-WuT"/>
                                             <outlet property="btnaddCart" destination="P9c-rP-A3n" id="Ne1-hV-blS"/>
                                             <outlet property="btnaddPortfolio" destination="8bl-N2-vQ8" id="OME-qi-bAh"/>
                                             <outlet property="btnaddWish" destination="AHJ-EJ-V5A" id="MWP-hv-a4g"/>
@@ -1206,7 +1217,7 @@
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" minimumZoomScale="0.0" maximumZoomScale="0.0" dataMode="prototypes" id="z6w-ak-dlg">
-                                                    <frame key="frameInset" minX="-1" minY="-2" maxX="1" maxY="1"/>
+                                                    <frame key="frameInset" minX="-1" minY="-2" maxX="1" maxY="2"/>
                                                     <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                     <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="aEA-hG-YW5">
@@ -1260,12 +1271,12 @@
                                         <rect key="frame" x="0.0" y="1205.5" width="768" height="600"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gSx-f2-mrB" id="k28-H7-ddZ">
-                                            <frame key="frameInset" width="768" height="599"/>
+                                            <frame key="frameInset" width="768" height="600"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                         </tableViewCellContentView>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="DetailInfoCell" rowHeight="44" id="hYM-aE-rjR" customClass="DetailKVCell">
-                                        <rect key="frame" x="0.0" y="1806" width="768" height="44"/>
+                                        <rect key="frame" x="0.0" y="1805.5" width="768" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="hYM-aE-rjR" id="o59-aa-UU2">
                                             <frame key="frameInset" width="768" height="43"/>
@@ -3028,7 +3039,7 @@
                                         <rect key="frame" x="0.0" y="22" width="768" height="66"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="H8t-DU-AtW" id="q6R-9a-SsD">
-                                            <frame key="frameInset" width="768" height="65.5"/>
+                                            <frame key="frameInset" width="768" height="66"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WEB1509140024" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="fu3-Bf-ZH2" userLabel="So#">
@@ -3039,14 +3050,14 @@
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="12345678.00" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="N3e-hc-gFF" userLabel="price">
-                                                    <frame key="frameInset" minY="23" width="100" maxX="176" maxY="21.5"/>
+                                                    <frame key="frameInset" minY="23" width="100" maxX="176" maxY="22"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" heightSizable="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="02/02/2015 10:10:10" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="qf1-u6-uMA" userLabel="date">
-                                                    <frame key="frameInset" minY="11" width="148" maxX="15" maxY="11.5"/>
+                                                    <frame key="frameInset" minY="11" width="148" maxX="15" maxY="12"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" heightSizable="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -3067,7 +3078,7 @@
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="99999" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="kLZ-2K-sGp">
-                                                    <frame key="frameInset" minY="5" width="100" maxX="176" maxY="39.5"/>
+                                                    <frame key="frameInset" minY="5" width="100" maxX="176" maxY="40"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" heightSizable="YES"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>

+ 3 - 0
RedAnt ERP Mobile/iSales-NPD/config.h

@@ -161,6 +161,8 @@
 
 #define URL_EMAIL_CART @"http://192.168.0.158:8080/site/isales/sendCartEmail.htm"
 
+#define URL_NOTIFY_ME @"http://192.168.0.158:8080/site/isales/notifyMeEmail.htm"
+
 #else
 
 
@@ -282,6 +284,7 @@
 
 #define URL_EMAIL_CART @"https://www.newpacificdirect.com/isales/sendCartEmail.htm"
 
+#define URL_NOTIFY_ME @"https://www.newpacificdirect.com/isales/notifyMeEmail.htm"
 
 #endif