def beer_gone(request, beer_id): beer = get_object_or_404(Beer, pk=beer_id) if beer.current_state() == 6: messages.error(request, "This beer is already marked as 'gone'!") return redirect('beer-show', beer.id) # Create a new event marking this beer as gone event = Event() event.beer = beer event.date = datetime.datetime.now().date() event.event_type = 6 # Hard-coding this is kind of gross... event.completed = True event.save() tweet_event.delay(event) return redirect('beer-show', beer.id)
def beer_new(request): if not request.user.is_superuser: return redirect('brewhouse-display') if request.method == 'POST': form = AddBeerForm(request.POST) if form.is_valid(): b = Beer() b.name = form.cleaned_data['name'] b.style = form.cleaned_data['style'] b.recipe_url = form.cleaned_data['recipe_url'] b.save() # Create some basic events based on the brewed-on date # tuple is of (event_type, days_since_brew_date) brew_date = form.cleaned_data['brew_date'] events = ( (7, 0), # brewing (1, 0), # brewed (2, 0), # primary fermentation (3, 7), # secondary fermentation (4, 21), # kegged (0, 28), # ready! ) for etype, num_days in events: event = Event() event.beer = b event.event_type = etype event.date = brew_date + datetime.timedelta(days=num_days) event.save() return redirect('beer-show', b.id) else: pass # TODO set an error else: form = AddBeerForm() return render(request, 'brewhouse/new_beer.html', locals())