예제 #1
0
def edit( request, id ):
    email_uri = mail_api.id2uri(id)
    email = mail_api.get_email(email_uri)

    if request.method == 'POST':
        subject = request.POST.get('subject')
        html_body = _rewrite_links(request.POST.get('body_text'))
        text_body = _text_from_html(html_body)
        tags = request.POST.get('tags')
        sequence = int(request.POST.get('to').split('-')[1])
        audience = request.POST.get('to').split('-')[0]

        mail_api.update_email(email_uri, subject, text_body, html_body, 
            sequence, audience, tags)
        return http.HttpResponseRedirect(reverse('mail_schedule'))

    context = {
        'sequences': sequence_model.get_all_sequences(),
        'email': email,
    }
    return render_to_response(
        'mail/compose.html',
        context,
        context_instance=RequestContext(request)
    )
예제 #2
0
def copy(request, id):
    email_uri = mail_api.id2uri(id)
    email = mail_api.get_email(email_uri)
    new_email = mail_api.save_email(email['subject'], email['text_body'],
                                    email['html_body'], email['sequence'],
                                    email['audience'], email['tags'])
    #TODO should we update the sequence

    return http.HttpResponseRedirect(
        reverse('mail_edit', kwargs={'id': new_email['id']}))
예제 #3
0
def view_email(request, id):
    email_uri = mail_api.id2uri(id)
    email = mail_api.get_email(email_uri)

    context = {
        'email': email,
    }
    return render_to_response('mail/view.html',
                              context,
                              context_instance=RequestContext(request))
예제 #4
0
def view_email( request, id ):
    email_uri = mail_api.id2uri(id)
    email = mail_api.get_email(email_uri)

    context = {
        'email': email,
    }
    return render_to_response(
        'mail/view.html',
        context,
        context_instance=RequestContext(request)
    )
예제 #5
0
def copy( request, id ):
    email_uri = mail_api.id2uri(id)
    email = mail_api.get_email(email_uri)
    new_email = mail_api.save_email(
        email['subject'],
        email['text_body'],
        email['html_body'],
        email['sequence'],
        email['audience'],
        email['tags']
    )
    #TODO should we update the sequence

    return http.HttpResponseRedirect(reverse('mail_edit', kwargs={'id': new_email['id']}))
예제 #6
0
def schedule_email( request, id ):
    email_uri = mail_api.id2uri(id)
    date_text = request.POST.get('scheduled_date')
    time_text = request.POST.get('scheduled_time')

    if len(date_text) == 0:
        return http.HttpResponse(_('Please choose a date.'), status=400)

    if len(time_text) == 0:
        return http.HttpResponse(_('Please choose a time.'), status=400)

    date_text += time_text
    dt = datetime.datetime.strptime(date_text, '%Y-%m-%d%H:%M')
    if dt < datetime.datetime.utcnow():
        return http.HttpResponse(_('Scheduled time is in the past'), status=400)
    mail_api.schedule_email(email_uri, dt)
    return http.HttpResponse('')
예제 #7
0
def schedule_email(request, id):
    email_uri = mail_api.id2uri(id)
    date_text = request.POST.get('scheduled_date')
    time_text = request.POST.get('scheduled_time')

    if len(date_text) == 0:
        return http.HttpResponse(_('Please choose a date.'), status=400)

    if len(time_text) == 0:
        return http.HttpResponse(_('Please choose a time.'), status=400)

    date_text += time_text
    dt = datetime.datetime.strptime(date_text, '%Y-%m-%d%H:%M')
    if dt < datetime.datetime.utcnow():
        return http.HttpResponse(_('Scheduled time is in the past'),
                                 status=400)
    mail_api.schedule_email(email_uri, dt)
    return http.HttpResponse('')
예제 #8
0
def edit(request, id):
    email_uri = mail_api.id2uri(id)
    email = mail_api.get_email(email_uri)

    if request.method == 'POST':
        subject = request.POST.get('subject')
        html_body = _rewrite_links(request.POST.get('body_text'))
        text_body = _text_from_html(html_body)
        tags = request.POST.get('tags')
        sequence = int(request.POST.get('to').split('-')[1])
        audience = request.POST.get('to').split('-')[0]

        mail_api.update_email(email_uri, subject, text_body, html_body,
                              sequence, audience, tags)
        return http.HttpResponseRedirect(reverse('mail_schedule'))

    context = {
        'sequences': sequence_model.get_all_sequences(),
        'email': email,
    }
    return render_to_response('mail/compose.html',
                              context,
                              context_instance=RequestContext(request))
예제 #9
0
def delete( request, id ):
    #TODO should require a POST
    email_uri = mail_api.id2uri(id)
    mail_api.delete_email(email_uri)
    return http.HttpResponseRedirect(reverse('mail_schedule'))
예제 #10
0
def delete(request, id):
    #TODO should require a POST
    email_uri = mail_api.id2uri(id)
    mail_api.delete_email(email_uri)
    return http.HttpResponseRedirect(reverse('mail_schedule'))