Example #1
0
def isAllowedToWriteObject(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", "videoaula", "quiz", "question"]:
            # "acesso_privado"  
            return (isUserOrOwner(user, registry_id))       
        else:
            # "acesso_comunidade"            
            return (isUserOrMember(user, registry_id))
                    
    if _perm.escopo_W == "acesso_privado":
        return (user == _perm.owner or isUserOrOwner(user, registry_id))  
          
    if _perm.escopo_W == "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_W:
            if user in _reg.getGroups[group]:
                return True
        return False
     
    if _perm.escopo_W == "acesso_comunidade":
        # aqui pode ser isUserorMember pois não deixamos amigos escreverem em objetos de amigos
        return (isUserOrMember(user, registry_id))
    
    return False
Example #2
0
    def get (self, registry_id):
        #hora_inicio = datetime.now()
        #print "inicio=", hora_inicio

        user = self.get_current_user()
        _atividades = prepareActivities(user, model.Activity().listActivities(registry_id))
        #print "prepareActivities=", datetime.now()
        
        groupIsfilled = model.Group().GroupIsFilled(registry_id)
        #print "GroupIsFilled=", datetime.now()

        links = []            
        if isUserOrOwner(user, registry_id):
            links.append((u"Alterar permissões", "/static/imagens/icones/permissions32.png", "/permission/activity/"+registry_id, "", "", True))   
        if user == registry_id:
            links.append((u"Atividades pendentes de "+registry_id, "/static/imagens/icones/pendent_activity32.png", "/activity/pendent/"+registry_id, "", "", False))
            
        log.model.log(user, u'acessou as atividades de', objeto=registry_id, tipo="activity", link="/activity/%s"%registry_id, news=False)

        #print "links=", datetime.now()
        self.render("modules/activity/activity-list.html",  NOMEPAG=u"atividades", \
                                     GROUPISFILLED = groupIsfilled, \
                                     ADMIN = isAllowedToWriteObject(user, "activity", registry_id) , \
                                     LINKS=links, \
                                     ATIVIDADES=_atividades, REGISTRY_ID=registry_id, MSG="")
Example #3
0
    def get(self, registry_id):
        user = self.get_current_user()
        page = int(self.get_argument("page","1"))

        bookm_count = model.Bookmarks.countBookmarksByRegistryId(registry_id)
        # Se forem todas as tags da página mostrada
        #(bookmarks, tags_list) = model.Bookmarks.listBookmarks(user, registry_id, page, NUM_MAX_FAVORITOS, all_tags=False)
        # Se forem todas as tags
        bookmarks = model.Bookmarks.listBookmarks(user, registry_id, page, NUM_MAX_FAVORITOS)

        tags_list = model.Bookmarks.listAllTags(registry_id)
        links = []
        if isAllowedToWriteObject(user, "bookmarks", registry_id):
            links.append((u"Criar novo favorito", "/static/imagens/icones/new32.png", "/bookmarks/new/"+registry_id))
        if isUserOrOwner(user, registry_id):
            links.append((u"Alterar permissões dos Favoritos", "/static/imagens/icones/permissions32.png", "/permission/bookmarks/"+registry_id, "", "", True))

        log.model.log(user, u'acessou os favoritos de', objeto=registry_id, tipo="bookmarks", news=False)
        
        self.render("modules/bookmarks/bookmarks-list.html", NOMEPAG='favoritos', \
                    REGISTRY_ID=registry_id, CRIAR=isUserOrMember(user,registry_id), \
                    TAG=None, LINKS=links, \
                    FOTO=False, \
                    BOOKMARKS=bookmarks, BOOKM_COUNT=bookm_count, \
                    TAGS = tags_list, \
                    PAGE=page, PAGESIZE=NUM_MAX_FAVORITOS, \
                    TITLE="Favoritos de %s"%registry_id, \
                    MSG="")
Example #4
0
 def _on_auth(self, user):
     print "voltei"
     if not user:
         #raise tornado.web.HTTPError(500, "Google auth failed")    
         # caso o usuário recarregue a página do calendário com os parâmetros da query_string devolvidos pela autenticação do google,
         # faz redirect para o calendar sem parâmetro nenhum. 
         print "redirect"
         self.redirect("/google/%s" % self.registry_id)  
         return
          
     print "mostrando"
     #link para registrar conta google
     links = []
     if isUserOrOwner(self.get_current_user(), self.registry_id):
         links.append(("Registrar conta Google no Activ", "/static/imagens/icones/google32.png", "/google/init/"+self.registry_id))
     #links.append(("Realizar logoff do Google", "/static/imagens/icones/add_event32.png", "/google/logoff"))
     
     # monta iframe do calendario
     account_google = self._registry.conta_google
     logged_email = user["email"]
     logged_name = user["name"]
     logged_firstname = user["first_name"]
     self.render("modules/google/calendar.html", NOMEPAG="agenda", GOOGLE_ACCOUNT=account_google, \
                 LOGGED_EMAIL=logged_email, \
                 LOGGED_NAME=logged_name, \
                 LOGGED_FIRSTNAME=logged_firstname, \
                 LINKS=links, REGISTRY_ID=self.registry_id, LOGOUT="")        
Example #5
0
    def get (self, registry_id):
        user = self.get_current_user()
        page = int(self.get_argument("page","1"))
        ordem = self.get_argument("ordem","0")
        tag = self.get_argument("tag","")
        
        if tag:
            topics_count = model.Topic.countObjectsByRegistryIdTags(registry_id, tag)
            topics_list = prepareTopicos(user, model.Topic.listForumTopics(registry_id, page, NUM_MAX_TOPICOS, ordem, tag))            
        else:
            topics_count = model.Topic.countObjectsByRegistryId(registry_id)
            topics_list = prepareTopicos(user, model.Topic.listForumTopics(registry_id, page, NUM_MAX_TOPICOS, ordem))
        
        tags_list = model.Topic.listAllTags(registry_id)

        links = []
        if isAllowedToWriteObject(user, 'forum', registry_id):
            links.append((u"Novo tópico", "/static/imagens/icones/new32.png", "/forum/newtopic/"+registry_id))
        if isUserOrOwner(user, registry_id):
            links.append((u"Alterar permissões deste forum", "/static/imagens/icones/permissions32.png", "/permission/forum/"+registry_id, "", "", True))   
        if ordem == "1":
            links.append(("Exibir mais recentes primeiro", "/static/imagens/icones/descending32.png", "/forum/"+registry_id+"?ordem=0"))
        else:
            links.append(("Exibir mais antigos primeiro", "/static/imagens/icones/ascending32.png", "/forum/"+registry_id+"?ordem=1"))

        log.model.log(user, u'acessou o forum', objeto=registry_id, tipo="forum", news=False)
            
        self.render("modules/forum/forum-list.html", NOMEPAG='forum', \
                                  REGISTRY_ID=registry_id, \
                                  TOPICOS=topics_list, TOPICOS_COUNT=topics_count, \
                                  PAGE=page, PAGESIZE=NUM_MAX_TOPICOS, \
                                  ORDEM=ordem, \
                                  TITULO=u"Forum de %s" % registry_id if not tag else u"Forum de %s com a tag %s" % (registry_id, tag), \
                                  TAGS = tags_list, \
                                  LINKS=links)       
Example #6
0
  def post(self, registry_id):               
      user = self.get_current_user()
      msg = ""
      if isUserOrOwner(user, registry_id):
          grupo = self.get_argument("grupo","")
          p = re.compile(VALID_LOGIN)
          if not grupo:
              msg = u"Grupo não preenchido."    
          elif not p.match(grupo):
              msg = u"Nome inválido. Deve ter no mínimo 3 caracteres, começando e terminando com letras ou números e utilizando apenas letras, números, '_' e '.' em sua composição. Não utilize acentuação!<br/>"                    
          else:
              user_data = _EMPTYCOMMUNITY()
              user_data.update(core.database.REGISTRY[registry_id])
              if grupo not in user_data["groups"]:
                  user_data["groups"][grupo] = []
                  core.database.REGISTRY[registry_id] = user_data     
                  msg = u"Grupo criado com sucesso."
              else:
                  msg = u"Grupo já existente."                    
 
      elif isACommunity(registry_id):
          msg=u"Somente administradores da comunidade podem criar grupos."  
      else:
          msg=u"Somente o próprio usuário pode criar grupos."
          
      self.render("popup_msg.html", MSG=msg, REGISTRY_ID=registry_id)                    
Example #7
0
 def wrapper(self, *args, **kwargs):
     user = self.get_current_user()
     service = args[0]
     registry_id = args[1]
     if registry_id not in core.database.REGISTRY:
         raise HTTPError(404)
     
     if len(args)>2:
         obj_name = args[2]
         if not isUserOrOwner(user, registry_id) and user != objectOwnerFromService(service, registry_id, obj_name):
             raise HTTPError(403)
     else:
         if not isUserOrOwner(user, registry_id):
             raise HTTPError(403)
         
     return method(self, *args, **kwargs)
Example #8
0
def isAllowedToEditObject(user, owner, doc_id, edicao_publica="S"):
    # só o dono da comunidade ou dono do objeto ou
    # (qq membro se o objeto for de edição pública)
    (registry_id, nomeobj) = doc_id.split("/")
    return (user == owner or \
            isUserOrOwner(user, registry_id) or \
            (isMember(user, registry_id) and edicao_publica=="S") )
Example #9
0
    def get(self, registry_id):
        user = self.get_current_user()
        page = int(self.get_argument("page","1"))
        letra = self.get_argument("letra","")

        glossary = model.Glossary.listGlossary(user, registry_id, page, NUM_MAX_ITENS_GLOSSARIO)
        glossary_count = model.Glossary.countGlossaryByRegistryId(registry_id)
        tags_list = model.Glossary.listAllTags(registry_id)
        links = []
        if isAllowedToWriteObject(user, "glossary", registry_id):
            links.append((u"Criar novo termo", "/static/imagens/icones/new32.png", "/glossary/new/"+registry_id))
        if isUserOrOwner(user, registry_id):
            links.append((u"Alterar permissões deste Glossário", "/static/imagens/icones/permissions32.png", "/permission/glossary/"+registry_id, "", "", True))

        log.model.log(user, u'acessou o glossário de', objeto=registry_id, tipo="glossary", news=False)
                
        self.render("modules/glossary/glossary-list.html", NOMEPAG=NOME_PAG_CLOSSARIO, \
                    REGISTRY_ID=registry_id, CRIAR=isUserOrMember(user,registry_id), \
                    TAG=None, LINKS=links, \
                    FOTO=False, \
                    GLOSSARY=glossary, GLOSSARY_COUNT=glossary_count, \
                    TAGS_LIST = tags_list , \
                    PAGE=page, PAGESIZE=NUM_MAX_ITENS_GLOSSARIO, \
                    TITLE=u"Glossário de %s"%registry_id, \
                    MSG="")
Example #10
0
    def get(self, registry_id):               
        user = self.get_current_user()
        if isACommunity(registry_id):
            if isUserOrOwner(user, registry_id):
                part = self.get_argument("part","")
                group = self.get_argument("group","")
    
                user_data = _EMPTYCOMMUNITY()
                user_data.update(core.database.REGISTRY[registry_id])
                if part:
                    groups = [(group, part in user_data["groups"][group]) for group in user_data["groups"].keys()]
                    
                    self.render("modules/community/update-groups.html", NOMEPAG='comunidades', \
                                PART=part, GROUPS=groups, \
                                REGISTRY_ID=registry_id, MSG="")   
                elif group:
                    parts = [(part, part in user_data["groups"][group]) for part in user_data["participantes"] if isAUser(part)]
                    self.render("modules/community/update-parts.html", NOMEPAG='comunidades', \
                                PARTS=parts, GROUP=group, \
                                REGISTRY_ID=registry_id, MSG="")                   
                else:
                    self.render("home.html", MSG=u"Chamada inválida.", NOMEPAG='comunidades')                    
            else:
                    self.render("home.html", MSG=u"Somente administradores da comunidade podem agrupar participantes.", NOMEPAG='comunidades')  

        else:
            if isUserOrOwner(user, registry_id):
                part = self.get_argument("part","")
                group = self.get_argument("group","")
    
                user_data = _EMPTYMEMBER()
                user_data.update(core.database.REGISTRY[registry_id])
                if part:
                    groups = [(group, part in user_data["groups"][group]) for group in user_data["groups"].keys()]
                    
                    self.render("modules/community/update-groups.html", NOMEPAG='amigos', \
                                PART=part, GROUPS=groups, \
                                REGISTRY_ID=registry_id, MSG="")   
                elif group:
                    parts = [(part, part in user_data["groups"][group]) for part in user_data["amigos"]]
                    self.render("modules/community/update-parts.html", NOMEPAG='amigos', \
                                PARTS=parts, GROUP=group, \
                                REGISTRY_ID=registry_id, MSG="")                   
                else:
                    self.render("home.html", MSG=u"Chamada inválida.", NOMEPAG='amigos')                    
            else:
                    self.render("home.html", MSG=u"Somente o próprio usuário pode agrupar seus amigos.", NOMEPAG='amigos')                              
Example #11
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
Example #12
0
 def get (self, registry_id, id):
     user = self.get_current_user()
     _quiz= model.Quiz().retrieve(id)
     links = []
     if _quiz:
         if isUserOrOwner(user, registry_id):
             links.append((u"Alterar permissões deste quiz", "/static/imagens/icones/permissions32.png", "/permission/quiz/"+registry_id+"/"+id, "", "", True))
         self.render("modules/quiz/quiz-edit.html", NOMEPAG=u"Quiz", LINKS=links, QUIZDATA=_quiz, REGISTRY_ID=registry_id, MSG="")
     else:
         raise HTTPError(404)
Example #13
0
 def get (self, registry_id):
     user = self.get_current_user()
     page = int(self.get_argument("page","1"))
     
     (sel_multipla, pags) = prepareFolderPages(user, model.Wiki.listFolderPages(user, registry_id, "", page, NUM_MAX_WIKIPAGES, True), getType(registry_id)[0])
     pag_count = model.Wiki.countRemovedPages(registry_id)
     
     links = []
     if isUserOrOwner(user, registry_id):
         links.append((u"Listar páginas", "/static/imagens/icones/wiki32.png", "/wiki/"+registry_id))
 
     self.write (dict(status=0, result=dict(pag_count=pag_count, paginas=pags, page=page, pagesize=NUM_MAX_WIKIPAGES, 
                                            e_usuario=isAUser(registry_id) )))
Example #14
0
 def get(self, registry_id):               
     user = self.get_current_user()
     if isUserOrOwner(user, registry_id):
         user_data = _EMPTYCOMMUNITY()
         user_data.update(core.database.REGISTRY[registry_id])
         groups = user_data["groups"].keys()
         
         self.render("modules/community/create-group.html", NOMEPAG='comunidades', \
                     GROUPS=groups, \
                     REGISTRY_ID=registry_id, MSG="")   
     elif isACommunity(registry_id):
         self.render("home.html", MSG=u"Somente administradores da comunidade podem criar grupos.", NOMEPAG='comunidades')  
     else:
         self.render("home.html", MSG=u"Somente o próprio usuário pode criar grupos.", NOMEPAG='amigos')  
Example #15
0
    def get(self, registry_id, pagina):
        user = self.get_current_user()
        versao = self.get_argument("versao","-1")

        doc_id = '/'.join([registry_id, pagina])
        self._wiki = model.Wiki().retrieve(doc_id, include_removed=True)
        if self._wiki and self._wiki.is_folder!="S": 
            wiki_data = prepareWikiPage(user, self._wiki.getWikiPage(user, versao=int(versao)))

            links = []
            if user:
                links.append(("Ver perfil de "+registry_id, "/static/imagens/icones/profile32.png", "/profile/"+registry_id))
                
                if isFriend(user, registry_id):
                    #links.append(("Enviar recado", "/static/imagens/icones/scrap32.png", "/scrap/"+registry_id))
                    if isOnline(registry_id):
                        links.append((u"Iniciar Chat com "+registry_id, "/static/imagens/icones/talk32.png", "/chat/"+registry_id))
                    else:
                        links.append((registry_id+u" não está online. Deixe uma mensagem.", "/static/imagens/icones/nottalk32.png", "/chat/"+registry_id))
                elif isAUser(registry_id) and user != registry_id:
                    self._reg = core.model.Member().retrieve(registry_id)

                    if user in self._reg.amigos_pendentes:
                        links.append((u"Já convidado. Aguardando resposta.", "/static/imagens/icones/invited_friend32.png", ""))
                    elif user in self._reg.amigos_convidados:
                        links.append(("Aceite convite de "+registry_id, "/static/imagens/icones/add_friend32.png", "/invites"))
                    else:
                        links.append(("Adicionar amigo", "/static/imagens/icones/add_friend32.png", "/newfriend?friend="+registry_id))
                                    
                self._reg_user = core.model.Registry().retrieve(user)
                if self._reg_user and "bookmarks"  in self._reg_user.getServices:                              
                    links.append(bookmarks.model.Bookmarks.createBookmarkLink(user, "http://"+PLATAFORMA_URL+self.request.path))
                if isUserOrOwner(user, registry_id):
                    links.append((u"Ver histórico de versões", "/static/imagens/icones/versions32.png", "/wiki/history/"+doc_id))
                if isAllowedToWriteObject(user, "wiki", registry_id, pagina):
                    links.append((u"Alterar esta página", "/static/imagens/icones/edit32.png", "/wiki/edit/"+doc_id))
                if isAllowedToDeleteObject(user, wiki_data["owner"],doc_id, wiki="S"):
                    links.append((u"Alterar permissões desta página", "/static/imagens/icones/permissions32.png", "/permission/wiki/"+doc_id))
                    links.append((u"Apagar esta página", "/static/imagens/icones/delete32.png", "/wiki/delete/"+doc_id,\
                                  "return confirm('Deseja realmente apagar esta página?');"))

            indice_links = []
            if wiki_data["alterar"]:
                indice_links.append((u"Editar índice", "/static/imagens/icones/edit16.png", "/wiki/edit/"+registry_id+"/indice"))
            
            self.write (dict(status=0, result=dict(path=self._wiki.getPagePath(), pagina=pagina,  
                                               wikidata=wiki_data )))
            
        else:
            self.write (dict(status=1, msg=u"Página não encontrada."))
Example #16
0
    def post(self, registry_id):               
        user = self.get_current_user()
        if isUserOrOwner(user, registry_id):
            part = self.get_argument("part","")
            group = self.get_argument("group","")

            if isACommunity(registry_id):
                user_data = _EMPTYCOMMUNITY()
            else:
                user_data = _EMPTYMEMBER()
            user_data.update(core.database.REGISTRY[registry_id])
            
            if part:
                for group in user_data["groups"].keys():
                    checkbox_value = self.get_argument(group,"")
                    if checkbox_value=="S" and part not in user_data["groups"][group]:
                        user_data["groups"][group].append(part)
                    elif checkbox_value<>"S" and part in user_data["groups"][group]:
                        while part in user_data["groups"][group]:
                            user_data["groups"][group].remove(part)
                core.database.REGISTRY[registry_id] = user_data
                     
                self.render("popup_msg.html", MSG=u"Grupos alterados com sucesso.", REGISTRY_ID=registry_id)
                
            elif group:
                pessoas = user_data["participantes"] if isACommunity(registry_id) else user_data["amigos"]
                for part in pessoas:
                    checkbox_value = self.get_argument(part,"")
                    if checkbox_value=="S" and part not in user_data["groups"][group]:
                        user_data["groups"][group].append(part)
                    elif checkbox_value<>"S" and part in user_data["groups"][group]:
                        while part in user_data["groups"][group]:
                            user_data["groups"][group].remove(part)
                core.database.REGISTRY[registry_id] = user_data
                     
                self.render("popup_msg.html", MSG=u"Participantes alterados com sucesso.", REGISTRY_ID=registry_id)               

            else:
                self.render("popup_msg.html", MSG=u"Chamada inválida.")                    
             
        else:
            if isACommunity(registry_id):
                self.render("popup_msg.html", MSG=u"Somente administradores da comunidade podem agrupar participantes.", REGISTRY_ID=registry_id)  
            else:                
                self.render("popup_msg.html", MSG=u"Somente o próprio usuário pode agrupar seus amigos.", REGISTRY_ID=registry_id)                    
Example #17
0
 def get(self, registry_id):
     user = self.get_current_user()
     page = int(self.get_argument("page","1"))
     
     lista_posts = prepareBlogPosts(user, model.Blog.listBlogPosts(registry_id, page, NUM_MAX_POSTS, control_panel=False, only_removed=True), include_removed=True)
     page_count = model.Blog.countRemovedPosts(registry_id)
     
     links = []
     if isUserOrOwner(user, registry_id):
         links.append((u"Listar posts", "/static/imagens/icones/blog32.png", "/blog/"+registry_id))
 
     log.model.log(user, u'acessou a lixeira do blog de', objeto=registry_id, tipo="blog", news=False)
     self.render("modules/blog/blog-listaremovidas.html", NOMEPAG='blog', \
                 REGISTRY_ID=registry_id, \
                 LINKS=links, \
                 LISTA_POSTS=lista_posts, PAG_COUNT=page_count, \
                 PAGE=page, PAGESIZE=NUM_MAX_POSTS, \
                 MSG="")
Example #18
0
    def get (self, registry_id, name_id):
        user = self.get_current_user()
        _va = model.Videoaula().retrieve_by_name_id(registry_id, name_id)
        if _va:
            ext = _va.arqvideo.split(".")[-1]

            links = []
            if isUserOrOwner(user, registry_id) or user == objectOwnerFromService("videoaula", registry_id, name_id):
                links.append((u"Alterar permissões desta videoaula", "/static/imagens/icones/permissions32.png", "/permission/videoaula/"+registry_id+"/"+name_id, "", "", True))     
            if isAllowedToDeleteObject(user, _va.owner, registry_id+"/"+name_id):
                links.append(("Remover esta videoaula", "/static/imagens/icones/delete32.png", "/videoaula/delete/"+registry_id+"/"+name_id,
                              "return confirm('Deseja realmente remover esta videoaula?');"))            
            self.render("modules/videoaula/videoaula-edit.html", NOMEPAG="videoaulas", VIDEODATA=_va, \
                        FOLDERS = files.model.Files.listFolders(user, registry_id, "files/all_data"), \
                        SORTEDKEYS=sortedKeys, MIME_TYPE=mime_types[ext],            
                        LINKS=links, \
                        REGISTRY_ID=registry_id, MSG="")
        else:
            raise HTTPError(404)
Example #19
0
    def get(self):
        user = self.get_current_user()
        registry_id = self.get_argument("id","")
        item = self.get_argument("item","")
        
        if registry_id == "" or item == "":
            raise HTTPError(404)
        
        elif not isUserOrOwner(user, registry_id):
            raise HTTPError(403)

        else:
            # remove o post
            self._scrap = model.Scrapbook().retrieve(registry_id)
            if self._scrap:
                self._scrap.removeScrap(int(item))
    
            log.model.log(user, u'removeu o recado de', objeto=registry_id, tipo="none", news=False)     
            self.redirect("/scrap/%s" % registry_id)
Example #20
0
 def get (self, registry_id):
     user = self.get_current_user()
     page = int(self.get_argument("page","1"))
     quiz_count = model.Quiz.countObjectsByRegistryId(registry_id)
     lista_quiz = prepareQuiz(user, model.Quiz.listObjects(registry_id, page, NUM_MAX_QUIZ))
     
     links = []
     if isAllowedToReadObject(user, "question", registry_id):
         links.append((u"Banco de questões", "/static/imagens/icones/question32.png", "/question/"+registry_id))
     if isAllowedToWriteObject(user, "quiz", registry_id):
         links.append((u"Novo teste de múltipla escolha", "/static/imagens/icones/add_test32.png", "/quiz/new/%s?subtype=Teste"%registry_id))
         links.append ((u"Nova pesquisa de opinião", "/static/imagens/icones/add_survey32.png", "/quiz/new/%s?subtype=Survey"%registry_id))
      
     log.model.log(user, u'acessou a lista de quizes de', objeto=registry_id, tipo="quiz", news=False)
              
     self.render("modules/quiz/quiz-list.html", NOMEPAG="Quiz", REGISTRY_ID=registry_id, \
                                           IS_ADMIN=isUserOrOwner(user, registry_id), \
                                           QUIZ=lista_quiz, QUIZ_COUNT=quiz_count, \
                                           PAGE=page, PAGESIZE=NUM_MAX_QUIZ, \
                                           LINKS=links)
Example #21
0
    def get (self, registry_id):
        user = self.get_current_user()
        page = int(self.get_argument("page","1"))
        
        videoaulas_count = model.Videoaula.countObjectsByRegistryId(registry_id)
        lista_videoaulas = prepareVideoaulas(user, model.Videoaula.listObjects(registry_id, page, NUM_MAX_VIDEOAULAS))
        tags_list = model.Videoaula.listAllTags(registry_id)

        links = []    
        if isUserOrOwner(user, registry_id):
            links.append((u"Nova videoaula", "/static/imagens/icones/new32.png", "/videoaula/new/"+registry_id))
         
        log.model.log(user, u'acessou as videoaulas de', objeto=registry_id, tipo="videoaula", news=False)
                 
        self.render("modules/videoaula/videoaula-list.html", NOMEPAG="videoaulas", REGISTRY_ID=registry_id, \
                                              VIDEOAULAS=lista_videoaulas, VIDEOAULAS_COUNT=videoaulas_count, \
                                              PAGE=page, PAGESIZE=NUM_MAX_VIDEOAULAS, \
                                              TITLE=u"Videoaulas de %s" % registry_id, \
                                              TAGS = tags_list, \
                                              LINKS=links)
Example #22
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)            
Example #23
0
    def get (self, registry_id):
        user = self.get_current_user()
        page = int(self.get_argument("page","1"))
         
        posts_count = model.Blog.countPostsByRegistryId(registry_id)
        lista_posts = prepareBlogPosts(user, model.Blog.listBlogPosts(registry_id, page, NUM_MAX_POSTS))

        links = []            
        if isAllowedToWriteObject(user, "blog", registry_id):
            links.append(("Novo post", "/static/imagens/icones/new32.png", "/blog/new/"+registry_id))
        if isUserOrOwner(user, registry_id):
            links.append((u"Ver lixeira", "/static/imagens/icones/recycle32.png", "/blog/deleted/"+registry_id))
            links.append((u"Alterar permissões deste blog", "/static/imagens/icones/permissions32.png", "/permission/blog/"+registry_id, "", "", True))   
         
        log.model.log(user, u'acessou o blog de', objeto=registry_id, tipo="blog", news=False)
                 
        self.render("modules/blog/blog.html", NOMEPAG="blog", REGISTRY_ID=registry_id, \
                                              ARCHIVE=model.Blog.get_blog_archive(registry_id), \
                                              SORTEDKEYS=sortedKeys, MESES=_meses, \
                                              POSTS=lista_posts, POSTS_COUNT=posts_count, \
                                              PAGE=page, PAGESIZE=NUM_MAX_POSTS, \
                                              LINKS=links)
Example #24
0
    def get(self, registry_id):               
        user = self.get_current_user()
        grupo = self.get_argument("group","")
        if isUserOrOwner(user, registry_id):
            user_data = _EMPTYCOMMUNITY()
            user_data.update(core.database.REGISTRY[registry_id])
            if grupo in user_data["groups"]:
                del user_data["groups"][grupo]
                core.database.REGISTRY[registry_id] = user_data     
                if isACommunity(registry_id):
                    self.redirect ("/members/"+registry_id)
                else:
                    self.redirect ("/friends/"+registry_id)
                return
                    
            else:
                msg = u"Grupo não existente."   
        elif isACommunity(registry_id):
            msg = u"Somente administradores da comunidade podem excluir grupos."
        else:
            msg = u"Somente o próprio usuário pode excluir grupos."

        self.render("popup_msg.html", MSG=msg, REGISTRY_ID=registry_id)  
Example #25
0
    def get (self, registry_id, post_id):
        user = self.get_current_user()
        doc_id = "/".join([registry_id, post_id])
        versao = self.get_argument("versao","-1")
        
        self._blog = model.Blog().retrieve(doc_id, include_removed=True)
                
        if self._blog:
            post_data = prepareBlogPost(user, self._blog.getBlogPost(user, versao=int(versao)))
            
            links = []
            links.append(("Blog de "+registry_id, "/static/imagens/icones/back32.png", "/blog/"+registry_id))
            
            if user:
                reg = core.model.Registry().retrieve(user)
                if reg and "bookmarks"  in reg.getServices:                              
                    links.append(bookmarks.model.Bookmarks.createBookmarkLink(user, "http://"+PLATAFORMA_URL+self.request.path))            
                if isAllowedToWriteObject(user, "blog", registry_id):
                    links.append(("Alterar este post", "/static/imagens/icones/edit32.png", "/blog/edit/"+doc_id))
                if isUserOrOwner(user, registry_id):
                    links.append(("Ver histórico de versões", "/static/imagens/icones/versions32.png", "/blog/history/"+doc_id))
                    
                if isAllowedToDeleteObject(user, post_data["owner"], doc_id) and versao == "-1":
                    links.append(("Remover este post", "/static/imagens/icones/delete32.png", "/blog/delete/"+doc_id,
                                  "return confirm('Deseja realmente remover este Post?');"))

            log.model.log(user, u'acessou o post', objeto=post_id, tipo="blog", news=False)

            self.render("modules/blog/post.html", NOMEPAG="blog", POST_DATE=full_week_date(post_data["data_cri_nofmt"]), \
                        REGISTRY_ID=registry_id, \
                        ARCHIVE=model.Blog.get_blog_archive(registry_id), \
                        SORTEDKEYS=sortedKeys, MESES=_meses, \
                        POST=post_data, \
                        LINKS=links)
        else:
            raise HTTPError(404)
Example #26
0
    def get (self, registry_id):
        self.registry_id = registry_id
        print registry_id
        self._registry = core.model.Registry().retrieve(self.registry_id)
        if self._registry and self._registry.conta_google:
                   
            if self.get_argument("openid.mode", None):
                print "vou no google"
                #self.get_authenticated_user(self.async_callback(self._on_auth))
                google_user = yield self.get_authenticated_user()
                print "google_user="******"Você ainda não registrou sua conta no Google"
            links = []
            if isUserOrOwner(self.get_current_user(), self.registry_id):
                links.append(("Registrar conta Google no Activ", "/static/imagens/icones/google32.png", "/google/init/"+self.registry_id))            
            self.render("modules/google/calendar.html", NOMEPAG="agenda", GOOGLE_ACCOUNT="", LINKS=links, \
                        REGISTRY_ID=self.registry_id, LOGOUT="")
Example #27
0
def isAllowedToDeleteObject(user, owner, doc_id, wiki="N"):
    # só o dono de um objeto ou o dono da comunidade podem apagá-lo
    (registry_id, nomeobj) = doc_id.split("/")
    return ((wiki=="N" or nomeobj not in ["home", "indice"]) and \
            ((user == owner) or \
            isUserOrOwner(user, registry_id)))
Example #28
0
def isAllowedToDeleteComment(user, registry_id, owner):
    # user: usuário que está tentando o acesso
    # registry_id: usuário/comunidade onde está o objeto
    # owner: dono do comentário
    # só o dono de um comentário ou o dono da comunidade podem apagá-lo
    return ((owner == user) or isUserOrOwner(user, registry_id))