Beispiel #1
0
 def get_url(self, obj):
     """
     Get full URL of blog post as host + ``get_short_url``, inspired by method ``get_absolute_url_with_host``.
     Removes dependency on reverse URLs of Mezzanine views when deploying Mezzanine only as an API backend.
     """
     return current_request().build_absolute_uri(
         self.get_short_url(obj))
Beispiel #2
0
 def get_redirect_url(self):
     """
     Build the redirect URL required by Facebook (including the domain and scheme)
     """
     request = current_request()
     return request.build_absolute_uri(
         reverse("admin:fbfeed_redirect_endpoint"))
Beispiel #3
0
    def get_absolute_url_with_host(self):
        """
        Returns host + ``get_absolute_url`` - used by the various
        ``short_url`` mechanics below.

        Technically we should use ``self.site.domain``, here, however
        if we were to invoke the ``short_url`` mechanics on a list of
        data (eg blog post list view), we'd trigger a db query per
        item. Using ``current_request`` should provide the same
        result, since site related data should only be loaded based
        on the current host anyway.
        """
        return current_request().build_absolute_uri(self.get_absolute_url())
Beispiel #4
0
    def get_absolute_url_with_host(self):
        """
        Returns host + ``get_absolute_url`` - used by the various
        ``short_url`` mechanics below.

        Technically we should use ``self.site.domain``, here, however
        if we were to invoke the ``short_url`` mechanics on a list of
        data (eg blog post list view), we'd trigger a db query per
        item. Using ``current_request`` should provide the same
        result, since site related data should only be loaded based
        on the current host anyway.
        """
        return current_request().build_absolute_uri(self.get_absolute_url())
Beispiel #5
0
    def profile_list(self):
        request = current_request()
        if self.profile_type == ProfilesPage.SPEAKERS:
            profiles_lst = Profile.objects.filter(in_speakers_page=True)
        else:
            profiles_lst = Profile.objects.filter(in_participants_page=True)

        profiles_lst = profiles_lst.annotate(talks_count=Count('author'))

        page_num = request.GET.get("page", 1)

        profiles = paginate(profiles_lst, page_num, self.per_page, 10)

        return profiles
Beispiel #6
0
def google_calendar_url(dt):
    start_str = dt.start.strftime("%Y%m%dT%H%M%SZ")
    end = dt.end or (dt.start + timedelta(hours=1))
    end_str = end.strftime("%Y%m%dT%H%M%SZ")
    tokens = {
        "action": "TEMPLATE",
        "text": dt.event.title,
        "dates": "{}/{}".format(start_str, end_str),
        "details": current_request().build_absolute_uri(dt.event.get_absolute_url()),
        "location": dt.event.location.replace("\n", " "),
    }

    if dt.repeat:
        tokens["recur"] = dt.repeat
        if dt.repeat_until:
            tokens["recur"] += ";UNTIL=" + dt.repeat_until.strftime("%Y%m%d")

    pairs = ("{}={}".format(k, urlencode(v)) for k, v in tokens.items())
    return "https://www.google.com/calendar/event?" + "&".join(pairs)
Beispiel #7
0
 def get_url(self, obj):
     """
     Get full URL of blog post as host + ``get_short_url``, inspired by method ``get_absolute_url_with_host``.
     Removes dependency on reverse URLs of Mezzanine views when deploying Mezzanine only as an API backend.
     """
     return current_request().build_absolute_uri(self.get_short_url(obj))