Exemple #1
0
 def get(self):
     user = self.get_current_user()
     friend = self.get_argument('friend', "")
     if isFriendOrMember(user, friend):
         self.render("modules/scrapbook/scrap-form.html", MSG="",NOMEPAG='recados', REGISTRY_ID=user, FRIEND=friend)
     else:
         self.render("home.html", MSG=u"Você só pode enviar recados para seus amigos ou para comunidades que participa.", \
                     NOMEPAG='recados', REGISTRY_ID=friend)
Exemple #2
0
def isAllowedToReadObject(user, servico, registry_id, nomeobj=""):
    perm_id = "%s/%s/%s" % (servico, registry_id, nomeobj)
    
    _perm = permission.model.Permission().retrieve(perm_id)
    if not _perm: 
        if servico in ["evaluation", "quiz"]:
            # "acesso_comunidade"  
            return (isUserOrMember(user, registry_id))
        elif servico in ["question"]:
            # "acesso_privado"  
            return (isUserOrOwner(user, registry_id))
        else:
            # "acesso_activ"            
            return (user!="" and user!=None)
            
    if _perm.escopo_R == "acesso_privado":
        return (user == _perm.owner or isUserOrOwner(user, registry_id))  
          
    if _perm.escopo_R == "acesso_grupos":
        # permite acesso ao dono do objeto e ao dono/admin da comunidade
        if (user == _perm.owner or isUserOrOwner(user, registry_id)):
            return True
        
        # permite acesso aos participantes dos grupos selecionados
        _reg = core.model.Registry().retrieve(registry_id)
        if not _reg:
            return False
        for group in _perm.grupos_R:
            if user in _reg.getGroups[group]:
                return True
        return False
     
    if _perm.escopo_R == "acesso_comunidade":
        #return (isUserOrMember(user, registry_id))
        return (isFriendOrMember(user, registry_id))
                 
    if _perm.escopo_R == "acesso_activ":
        return (user!="" and user!=None)
    
    if _perm.escopo_R == "acesso_publico":
        return True
    
    return False
Exemple #3
0
 def get(self, registry_id):
     user = self.get_current_user()
     page = int(self.get_argument("page","1"))
     
     if isFriendOrMember(user, registry_id):
         self._scrap = model.Scrapbook().retrieve(registry_id)
         scrap_list = []
         scraps_count = 0
         if self._scrap!=None:
             filter = not isUserOrMember(user, registry_id)
             scrap_list = self._scrap.getScrapbookList(user, page=page, page_size=NUM_MAX_SCRAPS, \
                                                   filter=filter)
             scraps_count = self._scrap.countScraps(user, filter=filter)
             
         self.render("modules/scrapbook/scrap-list.html", REGISTRY_ID=registry_id, \
                     USER=user, NOMEPAG='recados', \
                     APAGAR=isUserOrOwner(user, registry_id), \
                     SCRAPDATA=scrap_list, SCRAPS_COUNT = scraps_count, \
                     PAGE=page, PAGESIZE=NUM_MAX_SCRAPS)
         
     else:
         raise HTTPError(403)            
Exemple #4
0
 def post(self):
     user = self.get_current_user()
     friend = self.get_argument('friend', "")
     scrap = self.get_argument('scrap', "")
     
     # trata injeção de tags html e acrescenta links nas urls
     scrap = replace(scrap,"<","&lt;")
     scrap = replace(scrap,">","&gt;")
     scrap = processa_url(scrap)
     
     if isFriendOrMember(user, friend):
         msg = ''
         if friend and getType(friend)[0] in ["member" , "community"]:
             if scrap:
                 
                 # saveScrap -----------------------------------------
                 self._scrap = model.Scrapbook().retrieve(friend)
                 if not self._scrap: self._scrap = model.Scrapbook(user_to=friend)
                 
                 self._scrap.saveScrap(user_from=user, scrap=scrap)
                 # ---------------------------------------------------
                 
                 # notifica quem recebeu o recado
                 email_msg = scrap+"\n"+\
                             Notify.assinatura (user, friend, self._scrap.recados[0].data)+"\n\n"
                 Notify.email_notify(friend, user, u"enviou um recado para %s" % friend, \
                                        message=email_msg, link="scrap/"+friend)
                 log.model.log(user, u'enviou recado para', objeto=friend, tipo="user", news=False)
                 self.redirect ("/scrap/%s" % friend)
             
             else:
                 self.render("home.html", MSG=u'Você não escreveu o seu recado.',\
                             NOMEPAG='recados', REGISTRY_ID=friend)
         else:
             raise HTTPError(404)
     else:
         raise HTTPError(403)
Exemple #5
0
def isAllowedToComment(user, doc_id, owner):
    # todos os participantes da comunidade ou amigos do usuário podem comentar o objeto
    (registry_id, post_id) = doc_id.split("/")
    return ((owner == user) or isFriendOrMember(user, registry_id))