diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate index f1866ac..6a95e6e 100644 Binary files a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate and b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index bd35679..1580f1d 100644 --- a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -6,345 +6,62 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + startingLineNumber = "71" + endingLineNumber = "71" + offsetFromSymbolStart = "4017"> - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -356,61 +73,13 @@ shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "No" - filePath = "Vendoo/ListingPreviewViewController.swift" - timestampString = "494285108.864963" + filePath = "Vendoo/ServiceNotificationManager.swift" + timestampString = "494388796.589441" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "432" - endingLineNumber = "432" - landmarkName = "publishItem(_:)" - landmarkType = "5"> - - - - - - - - - - - - @@ -421,133 +90,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/EbayWebServiceManager.swift" - timestampString = "494033422.080596" + timestampString = "494390858.671323" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "576" - endingLineNumber = "576"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + startingLineNumber = "568" + endingLineNumber = "568"> - - - - + startingLineNumber = "566" + endingLineNumber = "566"> @@ -604,29 +133,13 @@ shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "No" - filePath = "Vendoo/SignUpViewController.swift" - timestampString = "494088185.778354" + filePath = "Vendoo/NetworksTableViewController.swift" + timestampString = "494630189.759007" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "46" - endingLineNumber = "46" - landmarkName = "signUpUser(_:)" - landmarkType = "5"> - - - - @@ -636,301 +149,30 @@ shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "No" - filePath = "Vendoo/SignUpViewController.swift" - timestampString = "494088196.172254" + filePath = "Vendoo/CategoriesTableViewController.swift" + timestampString = "494631326.508326" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "89" - endingLineNumber = "89" - landmarkName = "signUpUser(_:)" - landmarkType = "5"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Vendoo/CategoriesTableViewController.swift b/Vendoo/CategoriesTableViewController.swift index f3081ef..14f1738 100644 --- a/Vendoo/CategoriesTableViewController.swift +++ b/Vendoo/CategoriesTableViewController.swift @@ -17,7 +17,10 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa private var ebayManager: EbayWebServiceManager! = EbayWebServiceManager() private var selectedCategory: String! private var selectedSub: String! - + private var potentialEbay = false + private var potentialEtsy = false + private var potentialAmazon = false + private var categories = ["Accessories", "Antiques", "Art", @@ -124,9 +127,16 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa // Configure the cell... + dispatch_async(dispatch_get_main_queue(), { cell.categoryName.text = self.categories[indexPath.row] + cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 3, inSection: 0))?.hidden = true //facebook + cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 2, inSection: 0))?.hidden = true //etsy + cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 1, inSection: 0))?.hidden = true //amazon + cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 0, inSection: 0))?.hidden = true //ebay + //leaving this in for category debugging purposes + /* switch (cell.categoryName.text!) { case ("Accessories") : cell.networks.cellForItemAtIndexPath(NSIndexPath(forRow: 3, inSection: 0))?.hidden = false //facebook @@ -514,7 +524,7 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa break default: break - } + }*/ /*//ebay if(true){ @@ -576,15 +586,18 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa break case "Art": self.selectedCategory = "Art" + self.potentialEtsy = true break case "Baby": self.selectedCategory = "Baby" break case "Bath, Beauty & Health": self.selectedCategory = "Health and Beauty" + self.potentialEtsy = true break case "Books": self.selectedCategory = "Books" + self.potentialEtsy = true break case "Business & Industrial": self.selectedCategory = "Business and Industrial" @@ -597,6 +610,7 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa break case "Clothing & Shoes": self.selectedCategory = "Clothing, Shoes and Accessories" + self.potentialEtsy = true break case "Coins & Paper Money": self.selectedCategory = "Coins and Paper Money" @@ -615,6 +629,7 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa break case "Dolls & Miniatures": self.selectedCategory = "Dolls and Bears" + self.potentialEtsy = true break case "DVDs & Movies": self.selectedCategory = "DVDs & Movies" @@ -624,15 +639,18 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa break case "Everything Else": self.selectedCategory = "Everything Else" + self.potentialEtsy = true break case "Gift Cards & Coupons": self.selectedCategory = "Gift Cards and Coupons" break case "Home/Houseware & Garden": - self.selectedCategory = "Coins and Paper Money" + self.selectedCategory = "Home and Garden" + self.potentialEtsy = true break case "Jewelry & Watches": self.selectedCategory = "Jewelry and Watches" + self.potentialEtsy = true break case "Musical Instruments & Gear": self.selectedCategory = "Musical Instruments and Gear" @@ -660,6 +678,7 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa break case "Toys & Hobbies": self.selectedCategory = "Toys and Hobbies" + self.potentialEtsy = true break case "Travel": self.selectedCategory = "Travel" @@ -668,24 +687,15 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa self.selectedCategory = "Video Games and Consoles" break default: + self.selectedCategory = self.categories[indexPath.row] + self.potentialEtsy = true break } let cell: CategoryCell! = tableView.cellForRowAtIndexPath(indexPath) as! CategoryCell//tableView.dequeueReusableCellWithIdentifier("CategoryCell", forIndexPath: indexPath) as? CategoryCell - if(cell.shouldAskAboutLeafCategories){ - let alert = UIAlertController(title: "Explore Subcategories", message: "Would you like to see the subcategories for \(self.selectedCategory). NOTE: Only Required If Posting to Ebay", preferredStyle: .Alert) - - alert.addAction(UIAlertAction(title: "Yes", style: .Default, handler: {(action: UIAlertAction!) in - self.navigateCategories() - })) - - alert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: {(action: UIAlertAction!) in - })) - alert.addAction(UIAlertAction(title: "No", style: .Default, handler: {(action: UIAlertAction!) in - self.performSegueWithIdentifier("NetworkSelectionSegue", sender: self) - })) - self.presentViewController(alert, animated: true, completion: nil) - + if(self.ebayManager.isAuthorized && cell.shouldAskAboutLeafCategories){ + self.potentialEbay = true + self.navigateCategories() } else { self.performSegueWithIdentifier("NetworkSelectionSegue", sender: self) @@ -743,6 +753,20 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa fireManager: self.firManager, ebayManager: self.ebayManager, etsyManager: self.etsyManager ) (segue.destinationViewController as! NetworksTableViewController).setNetworkSelectFunctionality(true) + + //check what networks to load in network selection view + if self.graphManager.isAuthorized { + (segue.destinationViewController as! NetworksTableViewController).toggleMarketPlaceVisibitlity("facebook") + } + if self.potentialEbay && self.ebayManager.isAuthorized { + (segue.destinationViewController as! NetworksTableViewController).toggleMarketPlaceVisibitlity("ebay") + } + if self.potentialEtsy && self.etsyManager.isAuthorized { + (segue.destinationViewController as! NetworksTableViewController).toggleMarketPlaceVisibitlity("etsy") + } + if self.potentialAmazon { + (segue.destinationViewController as! NetworksTableViewController).toggleMarketPlaceVisibitlity("amazon") + } //print(self.categoryPicker.selectedRowInComponent(0)) } } diff --git a/Vendoo/NetworksTableViewController.swift b/Vendoo/NetworksTableViewController.swift index 9139c15..4da24d8 100644 --- a/Vendoo/NetworksTableViewController.swift +++ b/Vendoo/NetworksTableViewController.swift @@ -33,6 +33,8 @@ class NetworksTableViewController: UIViewController { private var firManager: FirebaseManager! = nil private var etsyManager: EtsyRESTAPIManager! = nil private var ebayManager: EbayWebServiceManager! = EbayWebServiceManager() + private var shouldShowDictionary: Dictionary = ["ebay":false, "amazon":false,"etsy":false,"facebook":false] + private var networkOrderSelection: [String] = [] @@ -71,6 +73,23 @@ class NetworksTableViewController: UIViewController { self.networkToggleOrSelect = bool } + func toggleMarketPlaceVisibitlity (market: String) { + self.shouldShowDictionary[market] = !self.shouldShowDictionary[market]! + } + + private func checkVisibility () -> String? { + var string = "" + for (market, visibility) in self.shouldShowDictionary { + if visibility { + self.shouldShowDictionary[market] = !self.shouldShowDictionary[market]! + string = market + self.networkOrderSelection.append(market) + break + } + } + return string + } + override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) if(!networkToggleOrSelect) { @@ -129,8 +148,20 @@ extension NetworksTableViewController: UITableViewDataSource { } func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - // #warning Incomplete implementation, return the number of rows - return 4 + if(self.networkToggleOrSelect) { + var count = 0 + // #warning Incomplete implementation, return the number of rows + for (_, visibility) in self.shouldShowDictionary { + if visibility { + count += 1 + } + } + return count + } + else { + return 4 + } + } @@ -142,7 +173,27 @@ extension NetworksTableViewController: UITableViewDataSource { //may hide future networks that don't apply to a listing if(self.networkToggleOrSelect){ - switch (indexPath.row){ + let market = self.checkVisibility()! + switch (market) { + case "facebook": + cell = (self.tableView.dequeueReusableCellWithIdentifier("facebook", forIndexPath: indexPath) as! FBTableViewCell) + break + case "ebay": + cell = (self.tableView.dequeueReusableCellWithIdentifier("ebay", forIndexPath: indexPath) as! EbayTableViewCell) + break + case "etsy": + cell = (self.tableView.dequeueReusableCellWithIdentifier("etsy", forIndexPath: indexPath) as! EtsyTableViewCell) + break + case "amazon": + cell = (self.tableView.dequeueReusableCellWithIdentifier("amazon", forIndexPath: indexPath) as! AmazonTableViewCell) + break + default: + cell = UITableViewCell() + break + } + + + /*switch (indexPath.row){ case 0: @@ -162,7 +213,7 @@ extension NetworksTableViewController: UITableViewDataSource { cell = (self.tableView.dequeueReusableCellWithIdentifier("facebook", forIndexPath: indexPath) as! FBTableViewCell) break - } + }*/ } else{ @@ -353,8 +404,8 @@ extension NetworksTableViewController: UITableViewDelegate { //case where class is being used in new item posting workflow to select which network to sell on if(self.networkToggleOrSelect){ - switch (indexPath.row){ - case 0: + switch (self.networkOrderSelection[indexPath.row]){ + case "ebay": let cell: EbayTableViewCell! cell = (self.tableView.dequeueReusableCellWithIdentifier("ebay", forIndexPath: indexPath) as! EbayTableViewCell) cell.setSelected(false, animated: false) @@ -383,7 +434,7 @@ extension NetworksTableViewController: UITableViewDelegate { } break - case 1: + case "amazon": let cell: AmazonTableViewCell! cell = (self.tableView.dequeueReusableCellWithIdentifier("amazon", forIndexPath: indexPath) as! AmazonTableViewCell) cell.setSelected(false, animated: false) @@ -413,7 +464,7 @@ extension NetworksTableViewController: UITableViewDelegate { break - case 2: + case "etsy": let cell: EtsyTableViewCell! cell = (self.tableView.dequeueReusableCellWithIdentifier("etsy", forIndexPath: indexPath) as! EtsyTableViewCell) @@ -451,7 +502,7 @@ extension NetworksTableViewController: UITableViewDelegate { break - default: + case "facebook": let cell: FBTableViewCell! @@ -477,16 +528,9 @@ extension NetworksTableViewController: UITableViewDelegate { //code to select network self.networksDictionary["facebook"] = true - //this is the type of code desired to access the REST management classes - /* - let tabBar = self.tabBarController - (tabBar as? HomeViewController)?.fbGraphManager.authorizeApp(self) - */ - - } - - + break + default: break } @@ -712,19 +756,6 @@ extension NetworksTableViewController: UIWebViewDelegate { NSLog("Oauth successful") ((self.tabBarController as? HomeViewController)?.ebayGraphManager)!.fetchToken() } - - /*var data : NSData? = NSData(contentsOfURL: NSURL(string: responseString as! String)!)! - if (data != nil){ - let jsonObject: AnyObject? - do { - try jsonObject = NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) - print(jsonObject) - - } - catch { - - } - }*/ }