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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()