예제 #1
0
파일: control.py 프로젝트: labase/activnce
    def get(self, registry_id, tipo):
        user = self.get_current_user()
        
        if isOwner(user, registry_id):
            self._aval = model.Evaluation()
            if tipo=="member":
                self._aval.tipo = "participantes"
                self._comu = core.model.Community().retrieve(registry_id)
                avaliados = self._comu.getMembersList(return_is_owner=False)[1]
                grupos = {}
                for item in self._comu.groups:
                    grupos[item.encode('iso-8859-1')] = [x.encode('iso-8859-1') for x in self._comu.groups[item]]
                groupnames = {}
                for grupo in grupos:  
                    groupnames[grupo.encode('iso-8859-1')] = grupo.encode('iso-8859-1') 
                
            else:       # tipo =="wiki"
                self._aval.tipo = u"páginas"
                avaliados = [row.key[1].split("/")[1] for row in wiki.database.WIKI.view('wiki/partial_data',startkey=[registry_id],endkey=[registry_id, {}]) if row.value["is_folder"]!="S" and not row.value["removido"]]
                (grupos, groupnames) = wiki.model.Wiki.listWikiFolderItens(registry_id, encoding='iso-8859-1')
                
            self.render("modules/evaluation/newevaluation-form.html", MSG="", EVALUATIONDATA=self._aval, \
                                AVALIADOS=avaliados, REGISTRY_ID=registry_id, \
                                GROUPS=grupos, \
                                GROUPNAMES=groupnames, \
                                NOMEPAG=u"Avaliações")

        else:
            self.render("home.html", MSG=u"Você não pode criar avaliação nesta comunidade.", REGISTRY_ID=ifExists(registry_id, user), \
                            NOMEPAG="comunidades")
        """
예제 #2
0
파일: control.py 프로젝트: labase/activnce
    def get(self, registry_id, aval):
        user = self.get_current_user()
        if isOwner(user, registry_id):
            aval_id = '/'.join([registry_id,unquote(aval).decode("UTF-8")])
            self._aval = model.Evaluation().retrieve(aval_id)
            if self._aval:            
                aval_data = prepareResults(self._aval.calcResultAvaliacao())
                log.model.log(user, u'acessou o resultado da avaliação', objeto=aval_id, tipo="evaluation", news=False)

                self.render("modules/evaluation/evaluation-result.html", AVALDATA=aval_data, \
                                REGISTRY_ID=registry_id, NOMEPAG=u"Avaliações") 
            else:
                self.render("home.html", MSG=u"Avaliação inexistente.", REGISTRY_ID=registry_id, \
                                NOMEPAG=u"Avaliações")         
        else:
            self.render("home.html", MSG=u"Você não tem permissão para acessar eta página.", REGISTRY_ID=ifExists(registry_id, user), \
                                NOMEPAG=u"Avaliações")         
예제 #3
0
파일: control.py 프로젝트: labase/activnce
    def get(self, registry_id, aval):
        user = self.get_current_user()
        
        if isOwner(user, registry_id):
            
            aval_id = '/'.join([registry_id,unquote(aval).decode("UTF-8")])
            
            self._aval = model.Evaluation().retrieve(aval_id)
            if self._aval:                    
                self._aval.delete()
                log.model.log(user, u'removeu a avaliação', objeto=aval_id, tipo="none")

            self.redirect("/evaluation/%s" % registry_id)
            
        else:
            self.render("home.html", MSG=u"Você não tem permissão para remover esta avaliação.", REGISTRY_ID=ifExists(registry_id, user), \
                            NOMEPAG="comunidades")
예제 #4
0
파일: control.py 프로젝트: labase/activnce
    def get(self, registry_id):
        user = self.get_current_user()        
        if isOwner(user, registry_id):
            avaliacoes = model.Evaluation.listEvaluationsByUser(registry_id)
            
            log.model.log(user, u'acessou os resultados das avaliações de', objeto=registry_id, tipo="evaluation", news=False)
            
            self.render("modules/evaluation/evaluation-votes.html", EVALUATIONRESULTS=avaliacoes, REGISTRY_ID=registry_id, \
                                NOMEPAG=u"Avaliações")

        else:
            self.render("home.html", MSG=u"Você tem autorização para entrar nesta página.", REGISTRY_ID=ifExists(registry_id, user), \
                            NOMEPAG="comunidades")
예제 #5
0
파일: control.py 프로젝트: labase/activnce
    def get(self, registry_id):
        user = self.get_current_user()
        if isMember(user, registry_id):
            
            aval_data = prepareEvaluations(user, model.Evaluation.listEvaluations(user, registry_id))
            
            links = []
            if isOwner(user, registry_id):
                links.append((u"Nova avaliação de páginas", "/static/imagens/icones/wiki32.png", "/evaluation/new/"+registry_id+"/wiki"))
                links.append((u"Nova avaliação de participantes", "/static/imagens/icones/members32.png", "/evaluation/new/"+registry_id+"/member"))
                links.append(("Votos dos participantes", "/static/imagens/icones/vote32.png", "/evaluation/result/"+registry_id))

            log.model.log(user, u'acessou a lista de avaliações de', objeto=registry_id, tipo="evaluation", news=False)
            self.render("modules/evaluation/evaluation-list.html", EVALUATIONDATA=aval_data, \
                        MSG="", \
                        REGISTRY_ID=registry_id, PERMISSION=isOwner(user,registry_id), \
                        LINKS=links, \
                        NOMEPAG=u"Avaliações")

        else:
            self.render("home.html", MSG=u"Você não é membro desta comunidade.", REGISTRY_ID=ifExists(registry_id, user), \
                            NOMEPAG="comunidades")
예제 #6
0
파일: control.py 프로젝트: labase/activnce
    def post(self, registry_id, aval):
        user = self.get_current_user()
        
        if isOwner(user, registry_id):
            aval_id = '/'.join([registry_id,unquote(aval).decode("UTF-8")])
            self._aval = model.Evaluation().retrieve(aval_id)
            if self._aval:            
                msg = ''
                self._aval.data_inicio = self.get_argument("data_inicio","")
                if self._aval.data_inicio == "":
                    msg += u"O campo 'Data/hora de início' não foi preenchido.<br/>"
                self._aval.data_encerramento = self.get_argument("data_encerramento","")
                if self._aval.data_encerramento == "":
                    msg += u"O campo 'Data/hora de encerramento' não foi preenchido.<br/>"
                
                self._aval.descricao = self.get_argument("descricao", "")
                self._aval.data_alt = str(datetime.now())
                if msg:
                    self.render("modules/evaluation/evaluation-edit.html", MSG=msg, EVALUATIONDATA=self._aval, \
                                        REGISTRY_ID=registry_id, NOMEPAG=u"Avaliações")
                    return

                self._aval.save()
                
                log.model.log(user, u'alterou a avaliação', objeto=aval_id, tipo="evaluation")
                self.redirect("/evaluation/%s" % registry_id)

            else:
                self.render("home.html", MSG=u"Avaliação inexistente.", REGISTRY_ID=registry_id, \
                                NOMEPAG=u"Avaliações")
        else:
            self.render("home.html", MSG=u"Você não pode alterar avaliações nesta comunidade.", REGISTRY_ID=ifExists(registry_id, user), \
                            NOMEPAG="comunidades")
예제 #7
0
파일: control.py 프로젝트: labase/activnce
    def get(self, registry_id, aval):
        user = self.get_current_user()

        if isOwner(user, registry_id):
            aval_id = '/'.join([registry_id,unquote(aval).decode("UTF-8")])
            self._aval = model.Evaluation().retrieve(aval_id)
            if self._aval:            
                links = []
                links.append((u"Alterar permissões desta avaliação", "/static/imagens/icones/permissions32.png", "/permission/evaluation/"+aval_id, "", "", True))     
                
                self.render("modules/evaluation/evaluation-edit.html", MSG="", EVALUATIONDATA=self._aval, \
                                    REGISTRY_ID=registry_id, NOMEPAG=u"Avaliações", LINKS=links)
            else:
                self.render("home.html", MSG=u"Avaliação inexistente.", REGISTRY_ID=registry_id, \
                                NOMEPAG=u"Avaliações")
        else:
            self.render("home.html", MSG=u"Você não pode alterar avaliações nesta comunidade.", REGISTRY_ID=ifExists(registry_id, user), \
                            NOMEPAG="comunidades")
예제 #8
0
파일: control.py 프로젝트: labase/activnce
    def post(self, registry_id, tipo):
        user = self.get_current_user()
        
        msg = ""
        if isOwner(user, registry_id):
            self._aval = model.Evaluation()
            self._aval.nome = self.get_argument("nome","")
            if not self._aval.nome:
                msg += u"Nome da avaliação não informado.<br/>"
            else:
                self._aval.nome = remove_special_chars(remove_diacritics(self._aval.nome.replace(" ","_")))
                if self._aval.nome == "":
                    msg += u"Nome da avaliação inválido.<br/>"
            
            self._aval.descricao = self.get_argument("descricao", "")
            
            if tipo=="member":
                self._aval.tipo = "participantes"
                self._comu = core.model.Community().retrieve(registry_id)
                avaliados = self._comu.participantes
                grupos = self._comu.groups
                groupnames = {}
                for grupo in grupos:  
                    groupnames[grupo] = grupo  
                
            else:       # tipo =="wiki"
                self._aval.tipo = u"páginas"
                avaliados = [row.key[1].split("/")[1] for row in wiki.database.WIKI.view('wiki/partial_data',startkey=[registry_id],endkey=[registry_id, {}]) if row.value["is_folder"]!="S" and not row.value["removido"]]
                (grupos, groupnames) = wiki.model.Wiki.listWikiFolderItens(registry_id)



                
            # qdo colocamos as views passou a dar erro de encoding
            # avaliados = [x.encode("UTF-8") for x in avaliados]
            for item in avaliados:
                if self.get_argument(item,"") == "S":
                    self._aval.avaliados.append(item)
                    
            if not self._aval.avaliados:
                msg += u"Selecione pelo menos um item para ser avaliado.<br/>"
                
            pontuacao = self.get_argument("pontuacao","").strip()
            if pontuacao:
                self._aval.pontuacao = pontuacao.split(",")
            else:
                msg += u"O campo 'Pontuação' não foi preenchido.<br/>"
            self._aval.owner = user
            self._aval.data_cri = str(datetime.now())
            
            self._aval.data_inicio = self.get_argument("data_start","")
            if not self._aval.data_inicio:
                msg += u"O campo 'Data/hora de início' não foi preenchido.<br/>"
            
            self._aval.data_encerramento = self.get_argument("data_end","")
            if not self._aval.data_encerramento:
                msg += u"O campo 'Data/hora de encerramento' não foi preenchido.<br/>"

            if msg:
                self.render("modules/evaluation/newevaluation-form.html", MSG=msg, EVALUATIONDATA=self._aval, \
                                    AVALIADOS=avaliados, REGISTRY_ID=registry_id, \
                                    GROUPS=grupos, \
                                    GROUPNAMES=groupnames, \
                                    NOMEPAG=u"Avaliações")                
            else:
                aval_id = "%s/%s" % (registry_id, self._aval.nome)
                try:
                    self._aval.save(id=aval_id)
                except Exception as detail:
                    self.render("modules/evaluation/newevaluation-form.html", MSG=u"Já existe uma avaliação com este nome", EVALUATIONDATA=self._aval, \
                                    AVALIADOS=avaliados, REGISTRY_ID=registry_id, \
                                    GROUPS=grupos, \
                                    GROUPNAMES=groupnames, \
                                    NOMEPAG=u"Avaliações")
                    return
                    
                log.model.log(user, u'criou a avaliação', objeto=aval_id, tipo="evaluation")
                self.redirect("/evaluation/%s" % registry_id)
                
        else:
            self.render("home.html", MSG=u"Você não pode criar avaliação nesta comunidade.", REGISTRY_ID=ifExists(registry_id, user), \
                            NOMEPAG="comunidades")