Example #1
0
 def post(self):
     currentUser = user.getUserbyId(user.getLoggedInUser())
     if(not currentUser):
         self.error(403)
         self.response.out.write("not logged in")
     else :
         userMeta = json.loads(currentUser.metadata)
         if(not userMeta['profile_completed']):
             self.response.out.write("profile not completed")
         else:
             tags = (self.request.get_all("tags[]"))
             tags = json.dumps(tags)
             title = self.request.get("title")
             descrtiption = self.request.get("description")
             accessType = int(self.request.get("access_type"))
             mytopic = Topic()
             mytopic.title = title
             mytopic.description = descrtiption
             mytopic.access_type = accessType
             mytopic.tags = tags
             owner = user.getUserbyId(user.getLoggedInUser())
             mytopic.owner = owner.key()
             mytopic.is_deleted = False
             mytopic.put()        
             self.redirect("/topics")
Example #2
0
 def post(self):
     currentUser = user.getUserbyId(user.getLoggedInUser())
     if not currentUser:
         self.error(403)
         self.response.out.write("not logged in")
     else:
         userMeta = json.loads(currentUser.metadata)
         if not userMeta["profile_completed"]:
             self.response.out.write("profile not completed")
         else:
             tags = self.request.get_all("tags[]")
             tags = json.dumps(tags)
             title = self.request.get("title")
             descrtiption = self.request.get("description")
             accessType = int(self.request.get("access_type"))
             mytopic = Topic()
             mytopic.title = title
             mytopic.description = descrtiption
             mytopic.access_type = accessType
             mytopic.tags = tags
             owner = user.getUserbyId(user.getLoggedInUser())
             mytopic.owner = owner.key()
             mytopic.is_deleted = False
             mytopic.put()
             self.redirect("/topics")
Example #3
0
 def get(self):
     currentUser = user.getUserbyId(user.getLoggedInUser())
     if not currentUser:
         self.response.out.write("not logged in")
     else:
         key = self.request.get("t")
         if not key:
             self.response.out.write("Arguments missing")
         else:
             topicKey = db.Key(key)
             topic = Topic.get(topicKey)
             if not topic:
                 self.response.out.write("Invalid key")
             else:
                 if not topic.owner.id == currentUser.id:
                     self.response.out.write("You do not have the rights to delete this topic")
                 else:
                     topic.is_deleted = True
                     metaData = {}
                     time = datetime.now()
                     metaData["delete_date"] = time.strftime("%b %d %Y %H:%M:%S")
                     metaData["deleted_by"] = currentUser.nickname
                     topic.deleteMetaData = json.dumps(metaData)
                     topic.put()
                     self.response.out.write("success")
Example #4
0
 def get(self):
     currentUser = user.getUserbyId(user.getLoggedInUser())
     if(not currentUser):
         self.response.out.write("not logged in")
     else:
         key = self.request.get("t")
         if(not key):
             self.response.out.write("Arguments missing")
         else:
             topicKey = db.Key(key)    
             topic = Topic.get(topicKey)
             if(not topic):
                 self.response.out.write("Invalid key")
             else:
                 if (not topic.owner.id == currentUser.id):
                     self.response.out.write("You do not have the rights to delete this topic")
                 else:
                     topic.is_deleted = True
                     metaData = {}
                     time = datetime.now()
                     metaData['delete_date'] = time.strftime("%b %d %Y %H:%M:%S")
                     metaData['deleted_by'] = currentUser.nickname
                     topic.deleteMetaData = json.dumps(metaData)
                     topic.put()
                     self.response.out.write('success')
Example #5
0
 def post(self):
     key = self.request.get("t")
     topic = Topic.get(key)
     currentUser = user.getUserbyId(user.getLoggedInUser())
     if not currentUser:
         self.redirect('/login')
     else:
         myEssay = Essay()
         myEssay.essay_text = self.request.get("essay-text")
         myEssay.parent_topic = topic.key()
         myEssay.owner = currentUser.key()
         myEssay.put()
         self.redirect('/essays?t='+key)
Example #6
0
 def get(self):
     key = self.request.get("t")
     topic = Topic.get(key)
     if not topic:
         print "No Topic with this id found"
         self.error(500)
     else:
         topic_id = topic.key()
         current_user = users.get_current_user()
         if not current_user:
             self.redirect('/login')
         else:
             path = os.path.join(os.path.dirname(__file__), '../views' , 'new-essay.html')
             self.response.out.write(
                 template.render(path,locals())
             )
Example #7
0
 def post(self):
     try:
         key = self.request.get("t")
         if key:
             currentUser = user.getUserbyId(user.getLoggedInUser())
             if not currentUser:
                 print "not logged in"
                 self.error(403)
             else:
                 topicKey = db.Key(key)
                 topic = Topic.get(topicKey)
                 if not topic:
                     print "Invalid key"
                     self.error(500)
                 else:
                     modifierArray = []
                     if topic.owner.id == currentUser.id:
                         tags = self.request.get_all("tags[]")
                         tags = json.dumps(tags)
                         title = self.request.get("title")
                         descrtiption = self.request.get("description")
                         accessType = int(self.request.get("access_type"))
                         topic.title = title
                         topic.description = descrtiption
                         topic.access_type = accessType
                         topic.tags = tags
                         topicHistory = topic.history
                         if topicHistory:
                             topicHistoryArray = json.loads(topic.history)
                             for myTopic in topicHistoryArray:
                                 modifierArray.append(myTopic)
                         historyDict = {}
                         historyDict["modifier"] = user.getLoggedInUser()
                         time = datetime.now()
                         historyDict["modified"] = time.strftime("%b %d %Y %H:%M:%S")
                         modifierArray.append(historyDict)
                         historyJson = json.dumps(modifierArray)
                         topic.history = historyJson
                         topic.put()
                         self.redirect("/topics")
                     else:
                         print "Not the owner of the topic"
                         self.error(403)
         else:
             self.error(500)
     except Exception:
         print Exception.message
Example #8
0
 def post(self):
     try:
         key = self.request.get("t")
         if(key):
             currentUser = user.getUserbyId(user.getLoggedInUser())
             if(not currentUser):
                 print "not logged in"
                 self.error(403)
             else:
                 topicKey = db.Key(key)
                 topic = Topic.get(topicKey)
                 if(not topic):
                     print "Invalid key"
                     self.error(500)
                 else:
                     modifierArray = []
                     if (topic.owner.id == currentUser.id):
                         tags = (self.request.get_all("tags[]"))
                         tags = json.dumps(tags)
                         title = self.request.get('title')
                         descrtiption = self.request.get("description")
                         accessType = int(self.request.get("access_type"))
                         topic.title = title
                         topic.description = descrtiption
                         topic.access_type = accessType
                         topic.tags = tags
                         topicHistory = topic.history
                         if(topicHistory):
                             topicHistoryArray = json.loads(topic.history)
                             for myTopic in topicHistoryArray:
                                 modifierArray.append(myTopic)
                         historyDict = {}
                         historyDict['modifier'] = user.getLoggedInUser()
                         time = datetime.now()
                         historyDict['modified'] = time.strftime("%b %d %Y %H:%M:%S")
                         modifierArray.append(historyDict)
                         historyJson = json.dumps(modifierArray)
                         topic.history =  historyJson
                         topic.put()  
                         self.redirect("/topics")
                     else:
                         print "Not the owner of the topic"
                         self.error(403)
         else:
             self.error(500)
     except Exception:
         print Exception.message
Example #9
0
 def get(self):
     try:
         key = self.request.get("t")
         if key:
             topicKey = db.Key(key)
             topic = Topic.get(topicKey)
             tags = json.loads(topic.tags)
             currentUser = user.getLoggedInUser()
             if not currentUser:
                 print "not logged in"
                 self.error(403)
             elif topic.owner.id == currentUser:
                 path = os.path.join(os.path.dirname(__file__), "../views", "edit-topic.html")
                 self.response.out.write(template.render(path, locals()))
             else:
                 print "Not the owner of the topic"
                 self.error(403)
         else:
             self.error(500)
     except Exception:
         print Exception.message
Example #10
0
    def get(self):
        logoutUrl = users.create_logout_url(self.request.uri)
        topics = Topic.all()
        topics.filter("access_type = ", 1)
        topics.filter("is_deleted = ", False)
        topicsArray = []
        currentUser = user.getUserbyId(user.getLoggedInUser())
        for topic in topics:
            topicDict = {}
            topicDict["id"] = topic.key()
            topicDict["title"] = topic.title
            topicDict["added_duration"] = library.helpers.getTimeInDaysMinutesSeconds(
                library.helpers.getSecondsFromNow(topic.created)
            )
            topicDict["keywords"] = json.loads(topic.tags)
            topicDict["owner"] = topic.owner.nickname
            topicsArray.append(topicDict)

            if currentUser and topic.owner.id == currentUser.id:
                topicDict["is_owner"] = True

        path = os.path.join(os.path.dirname(__file__), "../views", "topics.html")
        self.response.out.write(template.render(path, locals()))
Example #11
0
 def get(self):
     try:
         key = self.request.get("t")
         if(key):
             topicKey = db.Key(key)
             topic = Topic.get(topicKey)
             tags = json.loads(topic.tags)
             currentUser = user.getLoggedInUser()
             if(not currentUser):
                 print "not logged in"
                 self.error(403)
             elif (topic.owner.id == currentUser):
                 path = os.path.join(os.path.dirname(__file__), '../views' , 'edit-topic.html')
                 self.response.out.write(
                     template.render(path,locals())
                 )
             else:
                 print "Not the owner of the topic"
                 self.error(403)
         else:
             self.error(500)
     except Exception:
         print Exception.message
Example #12
0
 def get(self):
     logoutUrl = users.create_logout_url(self.request.uri)
     topics = Topic.all()
     topics.filter('access_type = ', 1)
     topics.filter('is_deleted = ', False)
     topicsArray = []
     currentUser = user.getUserbyId(user.getLoggedInUser())
     for topic in topics:
         topicDict = {}
         topicDict['id'] = topic.key()
         topicDict['title'] = topic.title
         topicDict['added_duration'] = library.helpers.getTimeInDaysMinutesSeconds(library.helpers.getSecondsFromNow(topic.created))
         topicDict['keywords'] = json.loads(topic.tags)
         topicDict['owner'] = topic.owner.nickname
         topicsArray.append(topicDict)
         
         if(currentUser and topic.owner.id == currentUser.id):
             topicDict['is_owner'] = True
             
     path = os.path.join(os.path.dirname(__file__), '../views' , 'topics.html')
     self.response.out.write(
           template.render(path,locals())
     )
Example #13
0
 def get(self):
     key = self.request.get("t")
     topic = Topic.get(key)
     if not topic:
         print "No Topic with this id found"
         self.error(500)
     else:
         curentUser = user.getUserbyId(user.getLoggedInUser())
         topic_id = topic.key()
         essaysArray = []
         for essay in topic.topic:
             essayDict = {}
             essayDict['essay_text'] = essay.essay_text
             essayDict['owner_name'] = essay.owner.nickname
             essayDict['owner_id'] = essay.owner.id
             essayDict['essay_key'] = essay.key()
             essayDict['created'] = getTimeInDaysMinutesSeconds(getSecondsFromNow(essay.created))
             if(essay.ratings):
                 essayDict['ratings'] = json.loads(essay.ratings)
                 essayDict['my_ratings'] = self.getMyRatings(essay.ratings, curentUser)
                 
             else:
                 essayDict['ratings'] ={'count':0,'aggregate_rating':0}
                 essayDict['my_ratings'] = 0
             if essay.comments:
                 comments = json.loads(essay.comments)
                 for comment in comments['data']:
                     comment['created'] = getTimeInDaysMinutesSeconds(getSecondsFromNow(datetime.strptime((comment['created']),"%b %d %Y %H:%M:%S")))
                 essayDict['comments'] = comments
             else:
                 essayDict['comments'] = ""
             essaysArray.append(essayDict)
         path = os.path.join(os.path.dirname(__file__), '../views' , 'essays.html')
         self.response.out.write(
                 template.render(path,locals())
             )