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") """
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")
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")
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")
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")
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")
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")
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")