Example #1
0
def export_user_data(user):
    from .models import FoiRequestFollower
    from froide.foirequest.models.request import get_absolute_domain_short_url

    following = FoiRequestFollower.objects.filter(user=user)
    if not following:
        return
    yield ('followed_requests.json',
           json.dumps([{
               'timestamp': frf.timestamp.isoformat(),
               'url': get_absolute_domain_short_url(frf.request_id),
           } for frf in following]).encode('utf-8'))
Example #2
0
def export_user_data(user):
    from froide.foirequest.models.request import get_absolute_domain_short_url

    from .models import Proposal

    proposals = Proposal.objects.filter(foirequest__user=user)
    if not proposals:
        return
    yield (
        "legalaction_proposals.json",
        json.dumps([{
            "timestamp":
            p.timestamp.isoformat(),
            "decision_date":
            (p.decision_date.isoformat() if p.decision_date else None),
            "legal_date": (p.legal_date.isoformat() if p.legal_date else None),
            "request": (get_absolute_domain_short_url(p.foirequest_id)),
            "phone":
            p.phone,
            "first_name":
            p.first_name,
            "last_name":
            p.last_name,
            "address":
            p.address,
            "email":
            p.email,
            "description":
            p.description,
        } for p in proposals]).encode("utf-8"),
    )
    for p in proposals:
        yield (
            "legalaction_proposals/%d/documents.json" % p.id,
            json.dumps([{
                "kind":
                d.kind,
                "date":
                d.date.isoformat() if d.date else None,
                "message": (d.foimessage.get_absolute_domain_short_url()
                            if d.foimessage else None),
            } for d in p.proposaldocument_set.all()]).encode("utf-8"),
        )
        for d in p.proposaldocument_set.all():
            if not d.document:
                continue
            yield (
                "legalaction_proposals/%d/%s" %
                (p.id, os.path.basename(d.document.path)),
                d.get_bytes(),
            )
Example #3
0
def export_user_data(user):
    from .models import FoiRequestFollower
    from froide.foirequest.models.request import get_absolute_domain_short_url

    following = FoiRequestFollower.objects.filter(
        user=user
    )
    if not following:
        return
    yield ('followed_requests.json', json.dumps([
        {
            'timestamp': frf.timestamp.isoformat(),
            'url': get_absolute_domain_short_url(frf.request_id),
        }
        for frf in following]).encode('utf-8')
    )
Example #4
0
def export_user_data(user):
    from froide.foirequest.models.request import get_absolute_domain_short_url
    from .models import VenueRequestItem

    venue_requests = VenueRequestItem.objects.filter(
        foirequest__user=user).select_related("venue")
    if not venue_requests:
        return
    yield (
        "venue_requests.json",
        json.dumps([{
            "venue": v.venue.to_place(),
            "timestamp": v.timestamp.isoformat(),
            "request": get_absolute_domain_short_url(v.foirequest_id),
        } for v in venue_requests]).encode("utf-8"),
    )
Example #5
0
def export_user_data(user):
    from froide.foirequest.models.request import get_absolute_domain_short_url
    from .models import CampaignPage, InformationObject

    campaign_pages = (CampaignPage.objects.filter(user=user))
    if campaign_pages:
        yield ('campaign_pages.json',
               json.dumps([{
                   'title': p.title,
                   'slug': p.slug,
                   'team_id': p.team_id,
                   'settings': p.settings,
                   'embed': p.get_absolute_domain_embed_url(),
                   'public': p.public,
                   'description': p.description,
                   'campaigns': [c.id for c in p.campaigns.all()]
               } for p in campaign_pages]).encode('utf-8'))

    iobjs = InformationObject.objects.filter(
        foirequest__user=user).select_related('campaign')
    if iobjs:
        yield ('campaign_requests.json',
               json.dumps([{
                   'campaign':
                   i.campaign.title,
                   'ident':
                   i.ident,
                   'title':
                   i.title,
                   'slug':
                   i.slug,
                   'ordering':
                   i.ordering,
                   'context':
                   i.context,
                   'request': (get_absolute_domain_short_url(i.foirequest_id)
                               if i.foirequest_id else None),
                   'resolved':
                   i.resolved,
                   'resolution_text':
                   i.resolution_text,
                   'resolution_link':
                   i.resolution_link,
               } for i in iobjs]).encode('utf-8'))
Example #6
0
def export_user_data(user):
    from froide.foirequest.models.request import get_absolute_domain_short_url
    from .models import VenueRequestItem

    venue_requests = (
        VenueRequestItem.objects
        .filter(foirequest__user=user)
        .select_related('venue')
    )
    if not venue_requests:
        return
    yield ('venue_requests.json', json.dumps([
        {
            'venue': v.venue.to_place(),
            'timestamp': v.timestamp.isoformat(),
            'request': get_absolute_domain_short_url(v.foirequest_id)
        }
        for v in venue_requests]).encode('utf-8')
    )
Example #7
0
 def get_request_url(self, obj):
     return get_absolute_domain_short_url(obj.request_id)
Example #8
0
 def get_request_url(self, obj):
     return get_absolute_domain_short_url(obj.id)