(WIP) Cdodge/shopping cart rewrite

might you also want an `else` case that still appends orderitems even if they don't have a `course_id`?  As it stands now, items in the order that don't have a `course_id` are still part of the order, but don't get displayed to the users.