def summary(request): """Display a html summary of all tasks.""" api_user = ApiUser.objects.get(user=request.user) tmp_link = request.build_absolute_uri(api_user.create_tmp_link()) context = { 'tasks': models.Task.objects.all(), 'link': tmp_link } return render(request, "focus/summary.html", context)
def index(request, context=None): """Index view""" if context is None: context = {} entries = models.Entry.objects.filter( parent__owner=request.user).order_by('-date')[:10] tasks = models.Task.objects.filter( owner=request.user).order_by('date_created') for t in tasks: try_update(t.pk) context['entries'] = entries context['all_tasks'] = tasks return render(request, 'focus/index.html', context)
def index(request): """Index view""" context = {} if request.method == 'POST': try: tweet_content = request.POST['tweet'] except KeyError: context['error'] = "We didn't receive any data." else: if not tweet_content: context['error'] = "We didn't receive any data." else: new_tweet = Tweet(content=tweet_content, status='Unscheduled') new_tweet.save() context['success'] = "Tweet stored for posting!" context['scheduled'] = get_scheduled() return render(request, 'tweetbort/index.html', context)
def task(request, pk, context=None): """ Task detail page. """ if context is None: context = {} t = get_object_or_404(models.Task, pk=pk, owner=request.user) try_update(pk) tasks = models.Task.objects.filter(owner=request.user).order_by('date_created') context['task'] = t context['charts'] = t.charts() context['all_tasks'] = tasks if t.has_integration: client = t.integration.client client.auth() context['client'] = client return render(request, 'focus/task.html', context)
def create_task(request): """This view processes input to create a new task.""" context = {} if request.method == "POST": form = forms.TaskForm(request.POST) if form.is_valid(): f = form.save(commit=False) f.owner = request.user f.save() messages.success(request, '%s added!' % f.name) if f.has_integration: return redirect( reverse('focus:create_integration', args=(f.pk,)) ) else: return redirect(reverse('focus:task', args=(f.pk,))) else: messages.error(request, 'Form invalid: %s' % form.errors) else: form = forms.TaskForm() context['form'] = form return render(request, 'focus/form.html', context)
def create_integration(request, pk): """Creates and validates an integration from a model form.""" context = {} if request.method == "POST": form = forms.IntegrationForm(request.POST) try: t = models.Task.objects.get(owner=request.user, pk=pk) except ObjectDoesNotExist: messages.error(request, 'No related task found.') return redirect('focus:create_task') if form.is_valid(): f = form.save(commit=False) f.parent = t f.save() t.has_integration = True t.save() messages.success(request, '%s added!' % f.name) return redirect(reverse('focus:task', args=(pk,))) else: messages.error(request, 'Form invalid: %s' % form.errors) else: form = forms.IntegrationForm() context['form'] = form return render(request, 'focus/form.html', context)
def index(request): """Index view""" context = {} default_error = "An error occurred. Please try again later." if request.method == 'POST': try: review = request.POST['review'] pk = request.POST['pk'] except KeyError: messages.error(request, default_error) else: photo = get_object_or_404(Photo, pk=pk, owner=request.user) photo.review = review photo.save() if photo.review == 'Keep': try: photo._keep() except Exception: messages.error(request, default_error) else: msg = "Saved %s in your photo library" % photo.filename messages.success(request, msg) elif photo.review == 'Delete': try: photo._delete() except Exception: messages.error(request, default_error) else: msg = "Removed %s from your library" % photo.filename messages.success(request, msg) else: messages.error(request, default_error) context['photos'] = list_photos() return render(request, 'secondlook/index.html', context)
def entry(request, pk): """Entry detail page""" e = get_object_or_404(models.Entry, pk=pk, parent__owner=request.user) context = {'entry': e} return render(request, 'focus/entry.html', context)