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