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)
def post(self, service, registry_id, objeto=""): user = self.get_current_user() registry_type = getType(registry_id)[0] user_data = _EMPTYCOMMUNITY() user_data.update(core.database.REGISTRY[registry_id]) groups = user_data["groups"].keys() grupos_r = [] grupos_w = [] for g in groups: if self.get_argument("escopo_R","")=="acesso_grupos" and self.get_argument("R_"+g, "") == "S": grupos_r.append(g) if self.get_argument("escopo_W","")=="acesso_grupos" and self.get_argument("W_"+g, "") == "S": grupos_w.append(g) leitura={"escopo":self.get_argument("escopo_R",""), "grupos":grupos_r} escrita={"escopo":self.get_argument("escopo_W",""), "grupos":grupos_w} data_agora = str(datetime.now()) perm_id = '/'.join([service, registry_id, objeto]) self._perm = model.Permission().retrieve(perm_id) if not self._perm: # Permissão não existe. Busco o owner do objeto. owner = objectOwnerFromService (service, registry_id, objeto) if owner==None: self.render("home.html", MSG=u"Serviço inválido.", REGISTRY_ID=registry_id, \ NOMEPAG='comunidades') return # crio a permissão deste objeto. self._perm = model.Permission(id=perm_id, \ owner=owner, \ service=service, registry_id=registry_id, nomeobj=objeto, \ data_cri = data_agora, \ leitura=leitura, escrita=escrita) else: self._perm.leitura = leitura self._perm.escrita = escrita self._perm.data_alt = data_agora self._perm.alterado_por = user self._perm.save() """ # notifica o dono da página alterada email_msg = u"Página alterada: "+doc_id+"\n"+\ Notify.assinatura(user, registry_id, self._wiki.historico[-1]["data_alt"])+"\n\n" Notify.email_notify(self._wiki.owner, user, u"alterou uma página criada por você", \ message=email_msg, \ link="wiki/"+doc_id) log.model.log(user, u'alterou a página', objeto=doc_id, tipo="wiki") self.redirect("/wiki/%s" % doc_id) """ self.render("modules/permission/perm-edit.html", \ NOMEPAG=SERVICES[registry_type][service]["description"], \ REGISTRY_ID=registry_id, PERM_ID=perm_id, PERMDATA=self._perm, \ MSG=u"Permissões alteradas", \ PATH=get_object_path(service, registry_id, objeto), \ SERVICE=service, GROUPS=groups, \ LEGENDA_R=SERVICES[registry_type][service]["legenda_perm_r"], \ LEGENDA_W=SERVICES[registry_type][service]["legenda_perm_w"], \ SERVICE_PERM=model.service_permissions (service, registry_type))