def update_by_id(id, data): form = GigForm(data=data) gig = Gig.get_by_id(id) gig.band = form.band.data gig.date = form.date.data gig.location = form.location.data gig.notes = form.notes.data return gig.put()
def get_by_id(id): gig = Gig.get_by_id(id) form = GigForm() form.band.data = gig.band form.date.data = gig.date form.location.data = gig.location form.notes.data = gig.notes return gig, form
def test_favorite_gigs(self): # create four users u1 = User(username='******', email='*****@*****.**') u2 = User(username='******', email='*****@*****.**') u3 = User(username='******', email='*****@*****.**') u4 = User(username='******', email='*****@*****.**') db.session.add_all([u1, u2, u3, u4]) # create four Gigs now = datetime.utcnow() p1 = Gig(detail="Gig from john", employer=u1, timestamp=now + timedelta(seconds=1)) p2 = Gig(detail="Gig from susan", employer=u2, timestamp=now + timedelta(seconds=4)) p3 = Gig(detail="Gig from mary", employer=u3, timestamp=now + timedelta(seconds=3)) p4 = Gig(detail="Gig from david", employer=u4, timestamp=now + timedelta(seconds=2)) db.session.add_all([p1, p2, p3, p4]) db.session.commit() # setup the favoriters u1.favorite(u2) # john follows susan u1.favorite(u4) # john follows david u2.favorite(u3) # susan follows mary u3.favorite(u4) # mary follows david db.session.commit() # check the favorited Gigs of each user f1 = u1.favorite_gigs().all() f2 = u2.favorite_gigs().all() f3 = u3.favorite_gigs().all() f4 = u4.favorite_gigs().all() self.assertEqual(f1, [p2, p4, p1]) self.assertEqual(f2, [p2, p3]) self.assertEqual(f3, [p3, p4]) self.assertEqual(f4, [p4])
def create(): form = CreateGigForm() if form.validate_on_submit(): gig = Gig(title=escape(form.title.data), description=escape(form.description.data), payment=form.payment.data, location=escape(form.location.data), employer_id=current_user.id) db.session.add(gig) db.session.commit() flash(f'The new gig has been added. "{gig.title}"', 'success') return redirect(url_for('gig.show', slug=gig.slug)) return render_template('gig/create_gig.html', form=form)
def create(): form = CreateGigForm() if form.validate_on_submit(): title = escape(form.title.data) description = escape(form.description.data) payment = form.payment.data location = escape(form.location.data) gig = Gig(title, description, payment, location, current_user.id) db.session.add(gig) db.session.commit() flash("The new gig has been added. \"" + gig.title + "\"", "success") return redirect(url_for("gig.show", slug=gig.slug)) return render_template("create_gig.html", form=form)
def create(data): form = GigForm(data=data) if form.validate(): pass else: return form.errors gig = Gig() gig.band = form.band.data gig.date = form.date.data gig.location = form.location.data gig.notes = form.notes.data return gig.put()
def create(): form = GigForm() if form.validate_on_submit(): neighborhood_name = form.neighborhood.data.name neighborhood = Neighborhood.query.filter_by( name=neighborhood_name).first() neighborhood_id = neighborhood.id type_name = form.type.data.name type = Gigtype.query.filter_by(name=type_name).first() type_id = type.id start_date = form.date.data gig = Gig(detail=form.gig.data, employer=current_user, neighborhood_id=neighborhood_id, type_id=type_id, start_date=start_date) db.session.add(gig) db.session.commit() flash('Help is on the way! Your Gig is now live.') return redirect(url_for('main.create')) return render_template('create.html', title='Create Gig', form=form)
def delete_by_id(id): return Gig.get_by_id(id).key.delete()
def get_all(): now = datetime.datetime.now() return Gig.query(Gig.date >= now).order(Gig.date).fetch()
def seed_db(num_of_employers=20, num_of_gigs=30, num_of_musicians=20): num_of_users = User.query.count() fake = Faker() i = 0 print("Creating employers...") print("Created: 0", end="\r") while i < num_of_employers: e = User( username=fake.company(), email=fake.email(), password='******', location=fake.city(), description="We sometimes put up gig offers. Here are some random words: " + fake.paragraph(3, True), role_id=Role.EMPLOYER ) e.activated = True db.session.add(e) try: db.session.commit() i += 1 print("Created: " + str(i), end="\r") except IntegrityError: db.session.rollback() print("Finished creating " + str(num_of_employers) + " employers...") print("\n") i = 0 print("Creating gigs...") print("Created: 0", end="\r") employer_ids = db.session.query(User.id).filter_by(role_id=3).all() while i < num_of_gigs: random_title = random_gig_title() g = Gig( title=random_title, description=random_gig_description(random_title), payment=round(random.uniform(100, 2000),2), location=fake.city(), employer_id=random.choice(employer_ids)[0] ) db.session.add(g) db.session.commit() i += 1 print("Created: " + str(i), end="\r") print("Finished creating " + str(num_of_gigs) + " gigs...") print("\n") i = 0 print("Creating musicians...") print("Created: 0", end="\r") while i < num_of_musicians: m = User( username=fake.user_name(), email=fake.email(), password='******', location=fake.city(), description="I am ready to make some music! Please hire me. Here are some random words: " + fake.paragraph(3, True), role_id=Role.MUSICIAN ) m.activated = True db.session.add(m) try: db.session.commit() i += 1 print("Created: " + str(i), end="\r") except IntegrityError: db.session.rollback() print("Finished creating " + str(num_of_musicians) + " musicians...") print("\n") i = 0 print("Applying musicians to gigs...") num_of_applications = int(num_of_musicians/2) print("Will create " + str(num_of_applications*num_of_gigs) + " applications.") musician_ids = db.session.query(User.id).filter_by(role_id=2).all() while i < num_of_gigs: g = Gig.query.get(i+1) j = 0 while j < num_of_applications: m = User.query.get(random.choice(musician_ids)[0]) try: m.apply(g) db.session.commit() j += 1 except IntegrityError: db.session.rollback() i += 1 print("\n") print("Creating admin user...") print("\n") print("Login info for admin:") print("Email: [email protected]") print("Password: pass") print("\n") admin = User("admin", "*****@*****.**", "password123", "Nowhere", "I am admin", Role.ADMIN) db.session.add(admin) db.session.commit() print("Database is ready!")