diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate
index f7d4c09..3dbd4f9 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 880e042..b1ef58d 100644
--- a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -10,12 +10,12 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemImagePickerViewController.swift"
- timestampString = "487758106.283634"
+ timestampString = "487821260.588406"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "125"
- endingLineNumber = "125"
- landmarkName = "takePicture()"
+ startingLineNumber = "379"
+ endingLineNumber = "379"
+ landmarkName = "draftItem(_:)"
landmarkType = "5">
@@ -26,12 +26,12 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ItemImagePickerViewController.swift"
- timestampString = "487758106.283634"
+ timestampString = "487821264.116041"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "58"
- endingLineNumber = "58"
- landmarkName = "viewDidLoad()"
+ startingLineNumber = "388"
+ endingLineNumber = "388"
+ landmarkName = "draftItem(_:)"
landmarkType = "5">
@@ -41,13 +41,157 @@
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
- filePath = "Vendoo/ListingPreviewViewController.swift"
- timestampString = "487757808.448492"
+ filePath = "Vendoo/ItemImagePickerViewController.swift"
+ timestampString = "487821268.676583"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "210"
- endingLineNumber = "210"
- landmarkName = "editListing(_:)"
+ startingLineNumber = "397"
+ endingLineNumber = "397"
+ landmarkName = "draftItem(_:)"
+ landmarkType = "5">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Vendoo/HomeViewController.swift b/Vendoo/HomeViewController.swift
index d801892..b5a6530 100644
--- a/Vendoo/HomeViewController.swift
+++ b/Vendoo/HomeViewController.swift
@@ -39,6 +39,8 @@ class HomeViewController: UITabBarController {
let storageRef = self.firebaseManager.storage.referenceForURL((databaseDict["image_storage"] as? String)!)
let listingImage = storageRef.child("images/\(keys).jpg")
+
+ //@TODO: add in logic to programmatically retrieve each stored image and store in listing object as a way to display each image
listingImage.dataWithMaxSize(10 * 1024 * 1024, completion: {
(data, error) -> Void in
diff --git a/Vendoo/ItemImagePickerViewController.swift b/Vendoo/ItemImagePickerViewController.swift
index 7ecc837..66ea7d2 100644
--- a/Vendoo/ItemImagePickerViewController.swift
+++ b/Vendoo/ItemImagePickerViewController.swift
@@ -35,7 +35,8 @@ class ItemImagePickerViewController: UIViewController {
var itemImages:[UIImageView]!
var itemImagesSelections = [false,false,false,false,false]
private var picker = UIImagePickerController()
-
+ private var currImageSelected: UIImageView!
+ private var currUILabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
@@ -56,8 +57,9 @@ class ItemImagePickerViewController: UIViewController {
let tapGestureMain = UITapGestureRecognizer(target: self, action: #selector(ItemImagePickerViewController.takePicture))
let tapGesture2 = UITapGestureRecognizer(target: self, action: #selector(ItemImagePickerViewController.takePicture))
//tapGesture.cancelsTouchesInView = true
- self.possibleItemImageMain.addGestureRecognizer(tapGestureMain)
- self.possibleItemImage2.addGestureRecognizer(tapGesture2)
+ self.view.addGestureRecognizer(tapGestureMain)
+ //self.possibleItemImageMain.addGestureRecognizer(tapGestureMain)
+ //self.possibleItemImage2.addGestureRecognizer(tapGesture2)
//self.possibleItemImage3.addGestureRecognizer(tapGesture)
//self.possibleItemImage4.addGestureRecognizer(tapGesture)
//self.possibleItemImage5.addGestureRecognizer(tapGesture)
@@ -112,7 +114,11 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
- self.possibleItemImageMain.image = image
+ if (self.possibleItemImageMain.image != nil && self.currUILabel != nil ){
+ self.currUILabel.hidden = true
+ }
+ self.currImageSelected.image = image
+
dismissViewControllerAnimated(true, completion: nil)
}
@@ -122,7 +128,93 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
}
- func takePicture(){
+ func takePicture(sender: UITapGestureRecognizer ){
+ let location: CGPoint = sender.locationInView(self.view)
+
+ if(sender.state == UIGestureRecognizerState.Ended) {
+ var viewsWereSaved = [false, false]
+ for view in self.view.subviews {
+ if (view.isKindOfClass(UIImageView) && CGRectContainsPoint(view.frame, location)) {
+ self.currImageSelected = view as! UIImageView
+ switch (view.tag) {
+ case 1:
+ if(self.itemImagesSelections[0]) {
+ self.itemImagesSelections[1] = true
+ viewsWereSaved[0] = true
+ } else {
+ let alert = UIAlertController(title: "Main Image Needed", message: "You must have a main image before saving supporting images.", preferredStyle: .Alert)
+ alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
+
+ self.presentViewController(alert, animated: true, completion: nil)
+
+ }
+ break
+
+ case 2:
+ if(self.itemImagesSelections[0] && self.itemImagesSelections[1]) {
+ self.itemImagesSelections[2] = true
+ viewsWereSaved[0] = true
+ } else {
+ let alert = UIAlertController(title: "Support Image 1 Missing", message: "You must save your first supporting image before saving more.", preferredStyle: .Alert)
+ alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
+
+ self.presentViewController(alert, animated: true, completion: nil)
+
+ }
+ break
+ case 3:
+ if(self.itemImagesSelections[0] && self.itemImagesSelections[1]
+ && self.itemImagesSelections[2]) {
+ self.itemImagesSelections[3] = true
+ viewsWereSaved[0] = true
+ } else {
+ let alert = UIAlertController(title: "Support Image 2 Missing", message: "You must save your first two supporting images before saving more.", preferredStyle: .Alert)
+ alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
+
+ self.presentViewController(alert, animated: true, completion: nil)
+
+ }
+ break
+ case 4:
+ if(self.itemImagesSelections[0] && self.itemImagesSelections[1]
+ && self.itemImagesSelections[2] && self.itemImagesSelections[3]) {
+ self.itemImagesSelections[4] = true
+ viewsWereSaved[0] = true
+ } else {
+ let alert = UIAlertController(title: "Support Image 3 Missing", message: "You must save your first three supporting images before saving more.", preferredStyle: .Alert)
+ alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
+
+ self.presentViewController(alert, animated: true, completion: nil)
+
+ }
+ break
+ default:
+ self.itemImagesSelections[0] = true
+ break
+ }
+
+ }
+ if (view.isKindOfClass(UILabel) && CGRectContainsPoint(view.frame, location)) {
+ self.currUILabel = view as! UILabel
+ viewsWereSaved[1] = true
+ }
+ }
+ /*
+ for (UIView *view in self.view.subviews)
+ {
+ if ([view isKindOfClass:[UIImageView class]] && CGRectContainsPoint(view.frame, location))
+ {
+ UIImageView *image = (UIImageView *) view;
+
+ // ok, now you know which image you received your long press for
+ // do whatever you wanted on it at this point
+
+ return;
+ }
+ }
+ */
+ }
+
let captureMenu = UIAlertController(title: nil, message:nil, preferredStyle: .ActionSheet)
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: {
@@ -153,6 +245,7 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
}
+
//MARK: - UIPickerViewDelegate
extension ItemImagePickerViewController: UIPickerViewDelegate {
@@ -252,7 +345,7 @@ extension ItemImagePickerViewController {
@IBAction func draftItem(sender: AnyObject) {
if(self.possibleItemImageMain.image == nil){
- let alert = UIAlertController(title: "Image Needed", message: "To proceed to save your listing as a draft, you must supply at least one picture for your listing", preferredStyle: .Alert)
+ let alert = UIAlertController(title: "Main Image Needed", message: "To proceed to save your listing as a draft, you must supply at least one picture for your listing.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
self.presentViewController(alert, animated: true, completion: nil)
@@ -262,13 +355,21 @@ extension ItemImagePickerViewController {
let newListingRef = (self.tabBarController as? HomeViewController)?.firebaseManager.ref.child("Users").child("\(((self.tabBarController as? HomeViewController)?.firebaseManager.user_email)!)").child("user_Listings").childByAutoId()
let category = (self.pickerData[self.categoryPicker.selectedRowInComponent(0)])
-
+ var counter = -1
+ for bool in self.itemImagesSelections {
+ if bool {
+ counter += 1
+ }else {
+ break
+ }
+ }
let listing: Dictionary = ["listingID": newListingRef!.key,
"seller email": (NSUserDefaults.standardUserDefaults().objectForKey("email") as? String)!,
"listingTitle": self.itemName.text,
"listingPrice": self.itemPrice.text,
"listingCategory": category,
"listingDescription": self.itemDescription.text,
+ "numberOfSupportingImages" : counter,
"isListingDraft": true,
"networks": ["areNetworksChosen": false]]
@@ -278,24 +379,60 @@ extension ItemImagePickerViewController {
let storageRef = (self.tabBarController as? HomeViewController)?.firebaseManager.storage.referenceForURL((databaseDict["image_storage"] as? String)!)
- let listingImageRef = storageRef!.child("images/\(newListingRef!.key)"+".jpg")
+ //check each imageview to see if there is an image to upload
+ if(self.possibleItemImage2.image != nil){
+ let listingImageRef = storageRef!.child("images/\(newListingRef!.key)"+"/2.jpg")
+
+ listingImageRef.putData(UIImageJPEGRepresentation(self.possibleItemImage2.image!, 0.8)!, metadata: nil,completion:
+ {(metadata, error) -> Void in
+ print(metadata)
+ })
+ }
- listingImageRef.putData(UIImageJPEGRepresentation(self.possibleItemImageMain.image!, 0.8)!, metadata: nil,completion:
- {(metadata, error) -> Void in
-
- newListingRef!.setValue(listing as? Dictionary)
- let alert = UIAlertController(title: "Item Saved", message: "Your listing has been saved by a draft", preferredStyle: .Alert)
-
- alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: {
+ if(self.possibleItemImage3.image != nil){
+ let listingImageRef = storageRef!.child("images/\(newListingRef!.key)"+"/3.jpg")
+
+ listingImageRef.putData(UIImageJPEGRepresentation(self.possibleItemImage3.image!, 0.8)!, metadata: nil,completion:
+ {(metadata, error) -> Void in
+ print(metadata)
+ })
+ }
+
+ if(self.possibleItemImage4.image != nil){
+ let listingImageRef = storageRef!.child("images/\(newListingRef!.key)"+"/4.jpg")
+
+ listingImageRef.putData(UIImageJPEGRepresentation(self.possibleItemImage4.image!, 0.8)!, metadata: nil,completion:
+ {(metadata, error) -> Void in
- self.dismissViewControllerAnimated(true, completion: nil)
- })}))
-
- self.presentViewController(alert, animated: true, completion: nil)
- })
-
+ })
+ }
+ if(self.possibleItemImage5.image != nil){
+ let listingImageRef = storageRef!.child("images/\(newListingRef!.key)"+"/5.jpg")
+
+ listingImageRef.putData(UIImageJPEGRepresentation(self.possibleItemImage5.image!, 0.8)!, metadata: nil,completion:
+ {(metadata, error) -> Void in
+
+ })
+ }
+ if(self.possibleItemImageMain.image != nil){
+ let listingImageRef = storageRef!.child("images/\(newListingRef!.key)"+"/main.jpg")
+
+ listingImageRef.putData(UIImageJPEGRepresentation(self.possibleItemImageMain.image!, 0.8)!, metadata: nil,completion:
+ {(metadata, error) -> Void in
+
+ newListingRef!.setValue(listing as? Dictionary)
+ let alert = UIAlertController(title: "Item Saved", message: "Your listing has been saved by a draft", preferredStyle: .Alert)
+
+ alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: {
+
+ self.dismissViewControllerAnimated(true, completion: nil)
+ })}))
+
+ self.presentViewController(alert, animated: true, completion: nil)
+ })
+ }
})
}
diff --git a/Vendoo/Main.storyboard b/Vendoo/Main.storyboard
index a4d984c..a56f74f 100644
--- a/Vendoo/Main.storyboard
+++ b/Vendoo/Main.storyboard
@@ -252,52 +252,57 @@
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
+
+
+
-
+
-
-
+
+
+
+
+
-
+
-
-
+
+
+
+
+
-
+
@@ -358,13 +363,13 @@
-
+
+
+
+
@@ -1534,6 +1539,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Vendoo/Vendoo-Bridging-Header.h b/Vendoo/Vendoo-Bridging-Header.h
index 543889d..1182cde 100644
--- a/Vendoo/Vendoo-Bridging-Header.h
+++ b/Vendoo/Vendoo-Bridging-Header.h
@@ -12,7 +12,7 @@
-#import "EBayTradingServiceClient.h"
+//#import "EBayTradingServiceClient.h"
#endif /* Vendoo_Bridging_Header_h */
\ No newline at end of file