|
|
@@ -0,0 +1,298 @@
|
|
|
+//
|
|
|
+// UserListViewController.m
|
|
|
+// iSales-NPD
|
|
|
+//
|
|
|
+// Created by Ray on 4/19/16.
|
|
|
+// Copyright © 2016 United Software Applications, Inc. All rights reserved.
|
|
|
+//
|
|
|
+
|
|
|
+#import "UserListViewController.h"
|
|
|
+#import "MainViewController.h"
|
|
|
+
|
|
|
+@interface UserListViewController ()
|
|
|
+
|
|
|
+@end
|
|
|
+
|
|
|
+@implementation UserListViewController
|
|
|
+
|
|
|
+- (void)viewDidLoad {
|
|
|
+ [super viewDidLoad];
|
|
|
+
|
|
|
+ self.edgesForExtendedLayout = UIRectEdgeNone;
|
|
|
+
|
|
|
+ self.bb_close.image=[[UIImage imageNamed:@"close"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ self.logindata = [iSalesDB get_saveduser];
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+- (void)didReceiveMemoryWarning {
|
|
|
+ [super didReceiveMemoryWarning];
|
|
|
+ // Dispose of any resources that can be recreated.
|
|
|
+}
|
|
|
+- (IBAction)CloseClick:(id)sender {
|
|
|
+
|
|
|
+ [self dismissViewControllerAnimated:true completion:nil];
|
|
|
+ // if(self.returnValue)
|
|
|
+ // self.returnValue(false);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+/*
|
|
|
+ #pragma mark - Navigation
|
|
|
+
|
|
|
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
|
|
|
+ - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
|
|
+ // Get the new view controller using [segue destinationViewController].
|
|
|
+ // Pass the selected object to the new view controller.
|
|
|
+ }
|
|
|
+ */
|
|
|
+#pragma mark - Table view data source
|
|
|
+- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
|
|
|
+{
|
|
|
+ return 44;
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
|
|
|
+{
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
|
|
|
+{
|
|
|
+ return self.logindata.count;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
|
|
+{
|
|
|
+
|
|
|
+ NSMutableDictionary* up = self.logindata[indexPath.row];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ NSString *CellIdentifier = @"LoginListCell";
|
|
|
+ UITableViewCell * cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
|
|
|
+ NSString* name=up[@"name"];
|
|
|
+ cell.textLabel.text = name;
|
|
|
+ return cell;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
|
|
|
+{
|
|
|
+
|
|
|
+
|
|
|
+ NSMutableDictionary* up = self.logindata[indexPath.row];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UIApplication * app = [UIApplication sharedApplication];
|
|
|
+ AppDelegate *appDelegate = (AppDelegate *)[app delegate];
|
|
|
+
|
|
|
+ if(appDelegate.bLogin)
|
|
|
+ {
|
|
|
+ UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Switch user"];
|
|
|
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
|
|
+
|
|
|
+ NSDictionary* return_json = [iSalesNetwork logout];
|
|
|
+
|
|
|
+ dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
+
|
|
|
+
|
|
|
+ appDelegate.cart_count = 0;
|
|
|
+ appDelegate.wish_count =0;
|
|
|
+ appDelegate.port_count =0;
|
|
|
+
|
|
|
+ [appDelegate update_count_mark];
|
|
|
+
|
|
|
+
|
|
|
+ appDelegate.can_show_price =false;
|
|
|
+ appDelegate.can_see_price =false;
|
|
|
+ appDelegate.can_create_portfolio =false;
|
|
|
+ appDelegate.can_create_order =false;
|
|
|
+
|
|
|
+
|
|
|
+ appDelegate.can_cancel_order =false;
|
|
|
+ appDelegate.can_set_cart_price =false;
|
|
|
+ appDelegate.can_delete_order =false;
|
|
|
+ appDelegate.can_submit_order =false;
|
|
|
+ appDelegate.can_set_tearsheet_price =false;
|
|
|
+ appDelegate.can_update_contact_info = false;
|
|
|
+
|
|
|
+ appDelegate.save_order_logout = false;
|
|
|
+ appDelegate.submit_order_logout = false;
|
|
|
+ appDelegate.alert_sold_in_quantities = false;
|
|
|
+
|
|
|
+ appDelegate.ipad_perm =nil ;
|
|
|
+ appDelegate.user_type = USER_ROLE_UNKNOWN;
|
|
|
+ appDelegate.OrderFilter= nil;
|
|
|
+ [appDelegate SetSo:nil];
|
|
|
+ [appDelegate set_main_button_panel];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ [appDelegate Logout];
|
|
|
+ // [waitalert dismissWithClickedButtonIndex:0 animated:FALSE];
|
|
|
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
|
|
+
|
|
|
+
|
|
|
+ int ret=[iSalesNetwork Authorize:up[@"name"] password:up[@"pwd"]];
|
|
|
+
|
|
|
+ dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
+ [waitalert dismissWithClickedButtonIndex:0 animated:FALSE];
|
|
|
+
|
|
|
+
|
|
|
+ if(ret==RESULT_TRUE)
|
|
|
+
|
|
|
+ {
|
|
|
+
|
|
|
+ //
|
|
|
+ // NSString* contactid=[self.content_data[indexPath.row] valueForKey:@"contact_id"] ;
|
|
|
+ AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
|
|
|
+ // appDelegate.contact_id=contactid;
|
|
|
+ // appDelegate.contact_name =[self.content_data[indexPath.row] valueForKey:@"name"];
|
|
|
+
|
|
|
+ NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
|
|
|
+ [defaults removeObjectForKey:@"user"];
|
|
|
+ [defaults removeObjectForKey:@"password"];
|
|
|
+ if(true)
|
|
|
+ {
|
|
|
+ NSString* encryptu=[AESCrypt encrypt:appDelegate.user password:@"usai"];
|
|
|
+ NSString* encryptp=[AESCrypt encrypt:up[@"pwd"] password:@"usai"] ;
|
|
|
+
|
|
|
+ [defaults setValue:encryptu forKey:@"user"];
|
|
|
+ [defaults setValue:encryptp forKey:@"password"];
|
|
|
+
|
|
|
+
|
|
|
+ // [defaults setBool:TRUE forKey:@"autologin"];
|
|
|
+ }
|
|
|
+ [defaults synchronize];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ MainViewController* main_vc=(MainViewController*)appDelegate.main_vc;
|
|
|
+ if(appDelegate.user_type==USER_ROLE_EMPLOYEE)
|
|
|
+ {
|
|
|
+
|
|
|
+ [main_vc checklogin:false];
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ else
|
|
|
+ {
|
|
|
+
|
|
|
+ [main_vc checklogin:false];
|
|
|
+
|
|
|
+ }
|
|
|
+ [self dismissViewControllerAnimated:true completion:^{
|
|
|
+ if(self.returnValue)
|
|
|
+ self.returnValue(true);
|
|
|
+ }];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ NSString* msg=nil;
|
|
|
+
|
|
|
+ switch (ret) {
|
|
|
+
|
|
|
+ case RESULT_NET_NOTAVAILABLE:
|
|
|
+ msg = MSG_NET_NOTAVAILABLE;
|
|
|
+ break;
|
|
|
+
|
|
|
+
|
|
|
+ case RESULT_NET_ERROR:
|
|
|
+ msg = MSG_NET_ERROR;
|
|
|
+ break;
|
|
|
+
|
|
|
+
|
|
|
+ case RESULT_FALSE:
|
|
|
+ msg = MSG_USERAUTH_ERROR;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case RESULT_VER_LOW:
|
|
|
+ msg = MSG_VER_LOW;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ UIAlertController *alertControl = [UIAlertController alertControllerWithTitle:@"Switch User" message:msg preferredStyle:UIAlertControllerStyleAlert];
|
|
|
+ //block代码块取代了delegate
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UIAlertAction *actionOne = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
|
|
|
+
|
|
|
+
|
|
|
+ [self dismissViewControllerAnimated:true completion:^{
|
|
|
+ if(self.returnValue)
|
|
|
+ self.returnValue(false);
|
|
|
+ }];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }];
|
|
|
+
|
|
|
+
|
|
|
+ [alertControl addAction:actionOne];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //UIAlertControllerStyle类型为UIAlertControllerStyleAlert可以添加addTextFieldWithConfigurationHandler:^(UITextField *textField)
|
|
|
+
|
|
|
+
|
|
|
+ [self presentViewController:alertControl animated:YES completion:nil];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //[RAUtils alert_view:msg title:@"Sign in"];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // self.edituser.text = up[@"name"];
|
|
|
+ // self.editpass.text = up[@"pwd"];
|
|
|
+ //
|
|
|
+ // self.showList=false;
|
|
|
+ // self.Loginlist.hidden=true;
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+//- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
|
|
|
+//{
|
|
|
+//
|
|
|
+// return true;
|
|
|
+//}
|
|
|
+
|
|
|
+@end
|