Пример #1
0
def notify_typesetter(request, typeset_id):
    """
    Optionally allows the PM to send the Typesetter an email, it can be skpped.
    :param request: HttpRequest object
    :param typeset_id: TypesetTask object PK
    :return: HttpRedirect if POST otherwise HttpResponse
    """
    typeset = get_object_or_404(models.TypesetTask,
                                pk=typeset_id,
                                assignment__article__journal=request.journal)
    user_message_content = logic.get_typesetter_notification(typeset, request)

    if request.POST:
        user_message_content = request.POST.get('user_message_content')
        kwargs = {
            'user_message_content': user_message_content,
            'typeset_task': typeset,
            'request': request,
            'skip': True if 'skip' in request.POST else False
        }
        typeset.notified = True
        typeset.save()
        event_logic.Events.raise_event(
            event_logic.Events.ON_TYPESET_TASK_ASSIGNED, **kwargs)
        return redirect(
            reverse('production_article',
                    kwargs={'article_id': typeset.assignment.article.pk}))

    template = 'production/notify_typesetter.html'
    context = {
        'typeset_task': typeset,
        'user_message_content': user_message_content,
    }

    return render(request, template, context)
Пример #2
0
def notify_typesetter(request, typeset_id):
    typeset = get_object_or_404(models.TypesetTask,
                                pk=typeset_id,
                                assignment__article__journal=request.journal)
    user_message_content = logic.get_typesetter_notification(typeset, request)

    if request.POST:
        user_message_content = request.POST.get('user_message_content')
        kwargs = {
            'user_message_content': user_message_content,
            'typeset_task': typeset,
            'request': request,
            'skip': True if 'skip' in request.POST else False
        }
        typeset.notified = True
        typeset.save()
        event_logic.Events.raise_event(
            event_logic.Events.ON_TYPESET_TASK_ASSIGNED, **kwargs)
        return redirect(
            reverse('production_article',
                    kwargs={'article_id': typeset.assignment.article.pk}))

    template = 'production/notify_typesetter.html'
    context = {
        'typeset_task': typeset,
        'user_message_content': user_message_content,
    }

    return render(request, template, context)
Пример #3
0
def notify_typesetter(request, typeset_id, event=True):
    """
    Optionally allows the PM to send the Typesetter an email, it can be skpped.
    :param request: HttpRequest object
    :param typeset_id: TypesetTask object PK
    :param event: string either 'true' or 'false'
    :return: HttpRedirect if POST otherwise HttpResponse
    """
    typeset = get_object_or_404(
        models.TypesetTask,
        pk=typeset_id,
        assignment__article__journal=request.journal,
    )

    if typeset.notified:
        messages.add_message(
            request,
            messages.INFO,
            'A notification has already been sent for this task.',
        )

        return redirect(
            reverse(
                'production_article',
                kwargs={'article_id': typeset.assignment.article.pk},
            ))

    user_message_content = logic.get_typesetter_notification(typeset, request)

    if request.POST:
        user_message_content = request.POST.get('user_message_content')
        kwargs = {
            'user_message_content': user_message_content,
            'typeset_task': typeset,
            'request': request,
            'skip': True if 'skip' in request.POST else False,
        }

        if 'skip' not in request.POST:
            typeset.notified = True
            typeset.save()

        if event or event == 'true':
            event_logic.Events.raise_event(
                event_logic.Events.ON_TYPESET_TASK_ASSIGNED, **kwargs)

        return redirect(
            reverse('production_article',
                    kwargs={'article_id': typeset.assignment.article.pk}))

    template = 'production/notify_typesetter.html'
    context = {
        'typeset_task': typeset,
        'user_message_content': user_message_content,
    }

    return render(request, template, context)