Did you ask him when you became his girlfriend, because the only person he needs to be buying a gift for is you?
2 years ago on Mother's Day, I had told hubby I didn't need a gift, all I wanted was a lazy day...a day off from all the things I always have to do. He apparently stopped listening after "I don't need a gift" because HE slept in, and I had to get up with the kids and get them breakfast, etc. Then I waited to get my own breakfast, thinking (silly me) that he and the kids might make breakfast FOR me...he got up, came downstairs and gets on the computer. I wait, thinking he just needs to wake up a bit..nothing....I hint that I'm really hungry. Finally, get up and go to make my own eggs and he's like "Oh! You're making eggs? Will you make me some too?" so I make HIS breakfast. Then lunch rolls around and we're at my in-laws where my MIL usually makes lunch, but on mother's day my FIL kicks her out of the kitchen and tells her to relax....but he can't cook. So guess who got to make lunch for the WHOLE family by herself? Me. And normally, the rule is whoever doesn't cook, cleans up. But DH goes back to what he's doing, and my MIL is not allowed to help because it's mother's day, but my FIL was recovering from a back injury and couldn't do it himself...so I got to do that, too...and dishes, which hubby and I agreed before we got married were his territory. But since we were at his parents' house, it's his dad's...who was injured. So I did the dishes. The only thing I DIDN'T have to do that day was cook dinner because my MIL had agreed the week before that neither of us were cooking and as my FIL CAN'T cook, we didn't want to make hubby do it...so we ordered Chinese. We're on the way home and DH looks at me and smiles and says "So did you enjoy your lazy day?" and I thought he was joking...I just sat there looking at him trying to see if he was kidding and if he had some big surprise up his sleeve...but he was completely sincere. So I said "It was just like every other day." and I kid you not, he had the audacity to say "So you're saying you're lazy every day?" I have never wanted to punch him before in my life, but I certainly wanted to then. He never even noticed that it was HIM that got the lazy day while I did twice the work I normally do. He didn't figure it out until we were home and he wanted some grown-up time....I bet the look on my face was something to behold. He'd better not EVER make that mistake again. Hopefully your boys have rectified their lapse in judgment. If not, forget the tent. Let them sleep out in the open! Or you could make reservations for yourself at a nice restaurant and tell them to figure dinner out for themselves, you are taking the night off.