Exemplo n.º 1
0
def fetch_multi_delete_tag(request, selected_mails, tag_id, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    try:
        tag = Tag.objects.get(id=tag_id)
    except (Tag.DoesNotExist, Tag.MultipleObjectsReturned):
        tag = None
    else:
        for mail_id in selected_mails:
            try:
                mail = Mail.objects.get(id=mail_id)
            except (Mail.DoesNotExist, Mail.MultipleObjectsReturned):
                pass
            else:
                mail.tags.remove(tag)
    result = tags.mail_tags_multibar_html(search_object, selected_mails, True)
    dajax.add_data(
        {
            'tags_html': result,
            'tags_only': True,
            'tags_changed': True,
            'propagate': True
        }, 'update_multibar')
    update_tag_cloud(dajax, search_object)
    return dajax.json()
Exemplo n.º 2
0
def fetch_multibar(request, selected_mails, propagate, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    result = tags.mail_tags_multibar_html(search_object, selected_mails)
    dajax.add_data(
        {"tags_html": result, "tags_only": False, "tags_changed": False, "propagate": propagate}, "update_multibar"
    )
    return dajax.json()
Exemplo n.º 3
0
def fetch_mail_body(request, email_id, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    email_body = "Error retrieving email"
    email = Mail.objects.get(pk=email_id)
    if email:
        email_body = get_expanded_html(email, search_object)
    dajax.add_data({"email_id": email_id, "email_body": email_body}, "update_mail_body")
    return dajax.json()
Exemplo n.º 4
0
def fetch_add_tag(request, email_id, tag, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    mails = Mail.objects.filter(id=email_id)
    if len(mails) > 0:
        t = tags.get_or_create_tag(tag)
        mails[0].tags.add(t)
    tags_html = tags.mail_tags_to_html_list(mails[0], search_object)
    dajax.add_data({"email_id": email_id, "tags_html": tags_html, "propagate": True}, "update_tags")
    update_tag_cloud(dajax, search_object)
    return dajax.json()
Exemplo n.º 5
0
def fetch_mail_tags(request, email_id, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    try:
        mail = Mail.objects.get(id=email_id)
    except (Mail.DoesNotExist, Mail.MultipleObjectsReturned):
        pass
    else:
        tags_html = tags.mail_tags_to_html_list(mail, search_object)
        dajax.add_data({"email_id": email_id, "tags_html": tags_html, "propagate": False}, "update_tags")
    return dajax.json()
Exemplo n.º 6
0
def fetch_multibar(request, selected_mails, propagate, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    result = tags.mail_tags_multibar_html(search_object, selected_mails)
    dajax.add_data(
        {
            'tags_html': result,
            'tags_only': False,
            'tags_changed': False,
            'propagate': propagate
        }, 'update_multibar')
    return dajax.json()
Exemplo n.º 7
0
def fetch_mail_body(request, email_id, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    email_body = 'Error retrieving email'
    email = Mail.objects.get(pk=email_id)
    if (email):
        email_body = get_expanded_html(email, search_object)
    dajax.add_data({
        'email_id': email_id,
        'email_body': email_body
    }, 'update_mail_body')
    return dajax.json()
Exemplo n.º 8
0
def fetch_multi_add_tag(request, selected_mails, tag, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    t = tags.get_or_create_tag(tag)
    for mail_id in selected_mails:
        try:
            m = Mail.objects.get(id=mail_id)
        except:
            pass
        else:
            m.tags.add(t)
    result = tags.mail_tags_multibar_html(search_object, selected_mails, True)
    dajax.add_data({"tags_html": result, "tags_only": True, "tags_changed": True, "propagate": True}, "update_multibar")
    update_tag_cloud(dajax, search_object)
    return dajax.json()
Exemplo n.º 9
0
def fetch_delete_tag(request, email_id, tag_id, url):
    dajax = Dajax()
    try:
        mail = Mail.objects.get(id=email_id)
        tag = Tag.objects.get(id=tag_id)
    except (Mail.DoesNotExist, Mail.MultipleObjectsReturned, Tag.DoesNotExist, Tag.MultipleObjectsReturned):
        pass
    else:
        mail.tags.remove(tag)
        search_object = search.get_search_from_url(url)
        tags_html = tags.mail_tags_to_html_list(mail, search_object)
        tags_html += tags.undo_delete_html(mail.id, tag)
        dajax.add_data({"email_id": email_id, "tags_html": tags_html, "propagate": True}, "update_tags")
        update_tag_cloud(dajax, search_object)
    return dajax.json()
Exemplo n.º 10
0
def fetch_add_tag(request, email_id, tag, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    mails = Mail.objects.filter(id=email_id)
    if len(mails) > 0:
        t = tags.get_or_create_tag(tag)
        mails[0].tags.add(t)
    tags_html = tags.mail_tags_to_html_list(mails[0], search_object)
    dajax.add_data(
        {
            'email_id': email_id,
            'tags_html': tags_html,
            'propagate': True
        }, 'update_tags')
    update_tag_cloud(dajax, search_object)
    return dajax.json()
Exemplo n.º 11
0
def fetch_mail_tags(request, email_id, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    try:
        mail = Mail.objects.get(id=email_id)
    except (Mail.DoesNotExist, Mail.MultipleObjectsReturned):
        pass
    else:
        tags_html = tags.mail_tags_to_html_list(mail, search_object)
        dajax.add_data(
            {
                'email_id': email_id,
                'tags_html': tags_html,
                'propagate': False
            }, 'update_tags')
    return dajax.json()
Exemplo n.º 12
0
def fetch_multi_delete_tag(request, selected_mails, tag_id, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    try:
        tag = Tag.objects.get(id=tag_id)
    except (Tag.DoesNotExist, Tag.MultipleObjectsReturned):
        tag = None
    else:
        for mail_id in selected_mails:
            try:
                mail = Mail.objects.get(id=mail_id)
            except (Mail.DoesNotExist, Mail.MultipleObjectsReturned):
                pass
            else:
                mail.tags.remove(tag)
    result = tags.mail_tags_multibar_html(search_object, selected_mails, True)
    dajax.add_data({"tags_html": result, "tags_only": True, "tags_changed": True, "propagate": True}, "update_multibar")
    update_tag_cloud(dajax, search_object)
    return dajax.json()
Exemplo n.º 13
0
def fetch_delete_tag(request, email_id, tag_id, url):
    dajax = Dajax()
    try:
        mail = Mail.objects.get(id=email_id)
        tag = Tag.objects.get(id=tag_id)
    except (Mail.DoesNotExist, Mail.MultipleObjectsReturned, Tag.DoesNotExist,
            Tag.MultipleObjectsReturned):
        pass
    else:
        mail.tags.remove(tag)
        search_object = search.get_search_from_url(url)
        tags_html = tags.mail_tags_to_html_list(mail, search_object)
        tags_html += tags.undo_delete_html(mail.id, tag)
        dajax.add_data(
            {
                'email_id': email_id,
                'tags_html': tags_html,
                'propagate': True
            }, 'update_tags')
        update_tag_cloud(dajax, search_object)
    return dajax.json()
Exemplo n.º 14
0
def fetch_multi_add_tag(request, selected_mails, tag, url):
    dajax = Dajax()
    search_object = search.get_search_from_url(url)
    t = tags.get_or_create_tag(tag)
    for mail_id in selected_mails:
        try:
            m = Mail.objects.get(id=mail_id)
        except:
            pass
        else:
            m.tags.add(t)
    result = tags.mail_tags_multibar_html(search_object, selected_mails, True)
    dajax.add_data(
        {
            'tags_html': result,
            'tags_only': True,
            'tags_changed': True,
            'propagate': True
        }, 'update_multibar')
    update_tag_cloud(dajax, search_object)
    return dajax.json()