Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
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)