예제 #1
0
 def get_page(self, request, resource, post):
     if users.currentUser.isGroup("poster") == False:
         return ErrorPages.AccessDenied(request, resource)
     try:
         if (post.author != users.currentUser.firstName + " " +
                 users.currentUser.lastName
                 and users.currentUser.permissions < 3):
             return ErrorPages.AccessDenied(request, resource,
                                            users.currentUser)
         temp = loader.get_template("editpost.html")
         cont = Context({"post": post, "user": users.currentUser})
         return temp.render(cont)
     except IndexError:
         return ErrorPages.PageNotFound(request, resource)
예제 #2
0
    def get_page(self, request, resource, parent):
        r, w = parent.check_permissions()
        if not w:
            return ErrorPages.AccessDenied(request, resource)

        temp = loader.get_template("newpost.html")
        cont = Context({"user": users.currentUser})
        result = temp.render(cont)
        return result
예제 #3
0
    def get_page(self, request, resource, parent):
        r, w = self.check_permissions()
        if not r:
            return ErrorPages.AccessDenied(request, resource)

        temp = loader.get_template("updates.html")
        before = request.request.get("getBefore")
        after = request.request.get("getAfter")

        if before != "":
            updates = posts.getPostsBefore(
                datetime.strptime(before, "%Y-%m-%d-%H"),
                (users.currentUser.permissions < 1))
        elif after != "":
            updates = posts.getPostsAfter(
                datetime.strptime(after, "%Y-%m-%d-%H"),
                (users.currentUser.permissions < 1))
        else:
            updates = posts.getPostsBefore(datetime.now(),
                                           (users.currentUser.permissions < 1))

        if (len(updates) > 0):
            nextPage = None
            prevPage = None

            if (after != ""):
                nextPage = updates[len(updates) -
                                   1].date.strftime("%Y-%m-%d-%H")
                if (len(updates) == config.PostsPerPage + 1):
                    prevPage = updates[1].date.strftime("%Y-%m-%d-%H")
                    updates.pop(0)

            if (before != ""):
                prevPage = updates[0].date.strftime("%Y-%m-%d-%H")
                if (len(updates) == config.PostsPerPage + 1):
                    nextPage = updates[config.PostsPerPage -
                                       1].date.strftime("%Y-%m-%d-%H")
                    updates.pop()

            else:
                if (len(updates) == config.PostsPerPage + 1):
                    nextPage = updates[config.PostsPerPage -
                                       1].date.strftime("%Y-%m-%d-%H")
                    updates.pop()

            cont = Context({
                "updates": updates,
                "user": users.currentUser,
                "nextPage": nextPage,
                "prevPage": prevPage
            })
        else:
            cont = Context({"user": users.currentUser})
        result = temp.render(cont).encode('utf-8')
        return result
예제 #4
0
 def get_page(self, request, resource, post):
     temp = loader.get_template("post.html")
     if users.currentUser.permissions < 1 & post.restricted:
         return ErrorPages.AccessDenied(request, resource,
                                        users.currentUser)
     comments = posts.getComments(post)
     if comments.count() is 0:
         comments = None
     cont = Context({
         "post": post,
         "comments": comments,
         "user": users.currentUser
     })
     return temp.render(cont)
예제 #5
0
 def get_page(self, request, resource):
     #First, check permissions
     r, w = self.check_permissions()
     if r:
         #Check and see if we must ignore the request and fetch our own file
         if self.f is None:
             #apparently not
             pagefile = str(urllib.unquote(resource)).lower()
         else:
             #Ok, will get own file
             pagefile = self.f
         try:
             temp = loader.get_template(pagefile + ".html")
         except template.TemplateDoesNotExist:
             #Oops, never heard of that file!
             return ErrorPages.PageNotFound(request, resource)
     else:
         #Red Card! We have an intruder on our site!
         return ErrorPages.AccessDenied(request, resource)
     cont = Context({"user": users.currentUser})
     return temp.render(cont)
예제 #6
0
    def get_page(self, request, resource, parent=None):
        r, w = self.check_permissions()
        if r:
            segment = resource.split("/")[0]
            split = resource[1:].split("/", 1)
            if len(split) > 1:
                remainder = split[1]
            else:
                remainder = ""

            if segment is None or segment == "":
                segment = "none"
            segment = segment.lower()
            if segment in self.spokes:
                spoke = self.spokes[segment]
                result = spoke.get_page(request, remainder, self)
            else:
                result = self.defaultPage(f=segment).get_page(
                    request, remainder, self)
        else:
            return ErrorPages.AccessDenied(request, resource)
        return result
예제 #7
0
 def get_page(self, request, resource, post):
     if (users.currentUser.permissions < 2):
         return ErrorPages.AccessDenied(request, resource,
                                        users.currentUser)
     email.mailToSubscribed(post)
     return "Re-emailed Everyone."
예제 #8
0
 def get_page(self, request, resource, post):
     if post.author != users.currentUser.firstName + " " + users.currentUser.lastName and users.currentUser.permissions < 3:
         return ErrorPages.AccessDenied(request, resource)
     temp = loader.get_template("deletepost.html")
     cont = Context({"post": post, "user": users.currentUser})
     return temp.render(cont)