diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index 35885a5..35dfe9c 100644
--- a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -90,11 +90,207 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EbayWebServiceManager.swift"
+<<<<<<< HEAD
timestampString = "494390858.671323"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "568"
endingLineNumber = "568"
+=======
+ timestampString = "494685275.012942"
+ startingColumnNumber = "9223372036854775807"
+ endingColumnNumber = "9223372036854775807"
+ startingLineNumber = "573"
+ endingLineNumber = "573">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >>>>>> Rapid-Dev-Branch
landmarkName = "parser(_:foundCharacters:)"
landmarkType = "5">
@@ -105,6 +301,7 @@
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
+<<<<<<< HEAD
filePath = "Vendoo/EbayWebServiceManager.swift"
timestampString = "494391829.589686"
startingColumnNumber = "9223372036854775807"
@@ -112,6 +309,79 @@
startingLineNumber = "566"
endingLineNumber = "566"
landmarkName = "parser(_:foundCharacters:)"
+=======
+ filePath = "Vendoo/NetworksTableViewController.swift"
+ timestampString = "494636097.069833"
+ startingColumnNumber = "9223372036854775807"
+ endingColumnNumber = "9223372036854775807"
+ startingLineNumber = "764"
+ endingLineNumber = "764"
+ landmarkName = "webViewDidFinishLoad(_:)"
+ landmarkType = "5">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >>>>>> Rapid-Dev-Branch
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/EbayWebServiceManager.swift b/Vendoo/EbayWebServiceManager.swift
index 4b579bb..b5b1f5f 100644
--- a/Vendoo/EbayWebServiceManager.swift
+++ b/Vendoo/EbayWebServiceManager.swift
@@ -40,6 +40,7 @@ class EbayWebServiceManager: NSObject {
private var completion: ServiceResponse!
private var isGettingSubCategories: Bool = false
private var isRevisingListing: Bool = false
+ private var requestGroup: dispatch_group_t = dispatch_group_create()
var isGettingNotification: Bool = false
//---------------------------------------------//
@@ -124,7 +125,7 @@ extension EbayWebServiceManager {
}
}
- func authorizeApp(){
+ func authorizeApp(onComplete: ServiceResponse){
let soapMessage = "" +
"" +
@@ -134,18 +135,21 @@ extension EbayWebServiceManager {
let url = NSURL(string: self.baseURL)
let theRequest = NSMutableURLRequest(URL: url!)
theRequest.addValue("GetSessionID", forHTTPHeaderField: "X-EBAY-API-CALL-NAME")
-
+ self.completion = onComplete
self.requestMaker(soapMessage, theRequest: theRequest)
}
func deauthorizeApp(){
- let soapMessage = "" +
+ //@TODO: Add an alert to let user know if their account has not been deauthorized and keep them logged in.
+ var soapMessage = "" +
"" +
"" +
- "\(self.xmlResponseDictionary["eBayAuthToken"])" +
- ""
+ "\(self.xmlResponseDictionary["eBayAuthToken"]!)" +
+ ""
+ soapMessage = soapMessage + "en_US" +
+ "High"
let url = NSURL(string: self.baseURL)
let theRequest = NSMutableURLRequest(URL: url!)
@@ -304,7 +308,7 @@ extension EbayWebServiceManager {
let url = NSURL(string: self.baseURL)
let theRequest = NSMutableURLRequest(URL: url!)
theRequest.addValue("FetchToken", forHTTPHeaderField: "X-EBAY-API-CALL-NAME")
-
+ //dispatch_group_enter(self.requestGroup)
self.requestMaker(soapMessage, theRequest: theRequest)
}
@@ -426,6 +430,7 @@ extension EbayWebServiceManager: NSXMLParserDelegate {
print("account credentials saved")
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "ebayAuthorized")
self.isAuthorized = true
+ //self.completion(nil, nil)
//Test authentication
let soapmessage = "" +
@@ -487,7 +492,7 @@ extension EbayWebServiceManager: NSXMLParserDelegate {
let url = NSURL(string: self.baseURL)
let theRequest = NSMutableURLRequest(URL: url!)
theRequest.addValue("GetCategories", forHTTPHeaderField: "X-EBAY-API-CALL-NAME")
-
+ self.completion(nil, nil)
self.requestMaker(soapmessage, theRequest: theRequest)
break
/*
diff --git a/Vendoo/NetworksTableViewController.swift b/Vendoo/NetworksTableViewController.swift
index 9139c15..268deb5 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
}
@@ -682,10 +726,19 @@ extension NetworksTableViewController: UITableViewDelegate {
extension NetworksTableViewController: EbayWebServiceManagerDelegate {
func signInUser(signInString : String!) {
- let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height))
+ let mywebViewController = UIViewController()
+
+ //let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height))
+ let myWebView = UIWebView(frame: mywebViewController.view.bounds)
myWebView.delegate = self
myWebView.loadRequest(NSURLRequest(URL: NSURL(string: signInString)!))
- self.view.addSubview(myWebView)
+ mywebViewController.view = myWebView
+
+ let navController = UINavigationController(rootViewController: mywebViewController)
+ mywebViewController.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: Selector("dismiss"))
+
+ self.presentViewController(navController, animated: true, completion: nil)
+ //self.view.addSubview(myWebView)
}
}
@@ -712,24 +765,15 @@ 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 {
-
- }
- }*/
}
}
+ func dismiss() {
+ self.dismissViewControllerAnimated(true, completion: nil)
+ }
+
}
extension NetworksTableViewController {
@@ -741,12 +785,16 @@ extension NetworksTableViewController {
switch (sender.superview?.superview?.classForCoder){
case is EbayTableViewCell.Type:
let tabBar = self.tabBarController
- ((tabBar as? HomeViewController)?.ebayGraphManager.authorizeApp())!
- dispatch_async(dispatch_get_main_queue(), {
- sender.setTitle("Logout", forState: UIControlState.Normal)
- (sender.superview?.superview as! EbayTableViewCell).settingsBtn.enabled = true
- (sender.superview?.superview as! EbayTableViewCell).settingsBtn.hidden = false
- })
+ ((tabBar as? HomeViewController)?.ebayGraphManager.authorizeApp({
+ something,_ -> Void in
+ // // //
+ dispatch_async(dispatch_get_main_queue(), {
+ sender.setTitle("Logout", forState: UIControlState.Normal)
+ (sender.superview?.superview as! EbayTableViewCell).settingsBtn.enabled = true
+ (sender.superview?.superview as! EbayTableViewCell).settingsBtn.hidden = false
+ })
+ }))!
+
break
case is AmazonTableViewCell.Type:
break