def wrapped_f(request, *args, **kwargs): flag = False user = request.user if user.is_superuser: return f(request, *args, **kwargs) try: site_url = get_site_url_id(request) permissoes = request.session['permissao'] if permissoes['site'] == site_url: for key, _contents in permissoes.items(): if key.upper() == 'ADMINISTRADORES': break if self.content in _contents: papeis = GrupoPapel.objects.get( grupo__grupo_name=key).papeis.all() papel = papeis.get(content_type__tipo=self.content, cod_name=self.permissao) flag = True break if flag: return f(request, *args, **kwargs) return redirect(self.login_url + __path_to__(request)) except: return redirect(self.login_url + __path_to__(request))
def edit(request): path_url = reescrever_url(request) tipo = request.GET['edit'] _site_url = get_site_url_id(request) _content_url = get_url_id_content(request) portlet = Portlet.objects.filter(site__url=_site_url).get(portlet=tipo) if portlet.categoria == 'destaque': form = PortletDestaqueForm(request.POST or None, instance=portlet) else: form = PortletForm(request.POST or None, instance=portlet) if form.is_valid(): model = form.save(commit=False) _url = slugify(model.titulo) model.save() path_url += '@@manage-portlets' return redirect(path_url) template = 'comum/portlets.html' context = { 'form': form, } return render(request, template, context)
def has_breadcrumbs(context): _html = " <div class='linha-inicio hidden-xs'> <ol>" _site_url = get_site_url_id(context.request) _p = PortalCatalog.objects.filter(site__url=_site_url, ) aux = '/' count = 0 _url = reescrever_url(context.request).strip('/').split('/') if len(_url) == 1: _html += "<li class='active'>Pagina Inicial</li>" else: for i in _url: if i not in ['folder_contents', 'createObject', 'edit']: if count < len(_url) - 1: aux += i + '/' if count == 0: _html += "<li><a href='%s'>Inicio</a> - </li>" % aux else: text_link = _p.get(path_url=aux) _html += "<li><a href='%s'>%s</a> - </li>" % ( aux, text_link.titulo) count += 1 else: aux += i + '/' text_link = _p.get(path_url=aux) _html += "<li class='active'>%s</li>" % text_link.titulo else: _html += "<li class='active'>[...]</li>" _html += "</ol> </div>" return format_html(_html)
def has_show_image_tag(context, **kwargs): _site_url = get_site_url_id(context.request) _tag = None if 'tag' in context.request.GET: tag = context.request.GET['tag'] _tag = Tag.objects.filter(site__url=_site_url).get(tag=tag) return _tag
def delete(request): path_url = reescrever_url(request) portlet_url = request.GET['delete'] _site_url = get_site_url_id(request) portlet = Portlet.objects.filter(site__url=_site_url).get( portlet=portlet_url) portlet.delete() path_url += '@@manage-portlets' return redirect(path_url)
def has_site(context): ''' Função responsável por retorna os dados do site, passando como parametro a url rais do site param = @site ''' _site_url = get_site_url_id(context.request) try: return Site.objects.get(url=_site_url) except ObjectDoesNotExist: raise Http404('Site não encontrado.')
def has_list_objects_arquivo(context, **kwargs): _site_url = get_site_url_id(context.request) _path_url = reescrever_url(context.request) _portal_catalog = PortalCatalog.objects.filter( site__url=_site_url, path_url__startswith=_path_url, tipo='ATArquivo').values_list('url', flat=True) _arquivo = Arquivo.objects.filter(site__url=_site_url, url__in=_portal_catalog) return _arquivo
def has_tag_content(context, **kwargs): _site_url = get_site_url_id(context.request) _tags = Tag.objects.filter(site__url=_site_url) if 'tag' in kwargs: try: _tag = kwargs['tag'] _tags = _tags.get(tag=_tag) except: return None return _tags
def has_login(context, **kwargs): _result = None _url = None user = context.request.user if user.is_authenticated(): _url = get_site_url_id(context.request) _result = format_html( "<a href='/security/logout/?next=/%s/'>Sair</a>" % _url) else: _url = context.request.path _result = format_html( "<a href='/security/login/?next=%s'>Acessar</a>" % _url) return _result
def has_list_objects_agenda(context, **kwargs): _site_url = get_site_url_id(context.request) _path_url = reescrever_url(context.request) _portal_catalog = PortalCatalog.objects.filter( site__url=_site_url, path_url__startswith=_path_url, tipo='ATAgenda').values_list('url', flat=True) _agenda = Agenda.objects.filter(site__url=_site_url, url__in=_portal_catalog) if 'hoje' in kwargs: today_min = datetime.combine(date.today(), time.min) today_max = datetime.combine(date.today(), time.max) _agenda = _agenda.filter(data_at__range=(today_min, today_max)) _agenda = _agenda.order_by('data_at') return _agenda
def has_list_objects_noticia(context, **kwargs): _site_url = get_site_url_id(context.request) _path_url = reescrever_url(context.request) _portal_catalog = PortalCatalog.objects.filter( site__url=_site_url, path_url__startswith=_path_url, tipo='ATNoticia').values_list('url', flat=True) _noticia = Noticia.objects.filter(site__url=_site_url, url__in=_portal_catalog) if 'tag' in context.request.GET: tag = context.request.GET['tag'] _noticia = _noticia.filter(tag=tag) return _noticia
def has_service(context, **kwargs): _result = {} _site_url = get_site_url_id(context.request) if 'list' in kwargs: itens = Servico.objects.filter(site__url=_site_url).values_list( 'tag', flat=True) for s in itens: _result[s] = s return _result if 'tag' in kwargs: _result = Servico.objects.filter(site__url=_site_url, tag=kwargs['tag']) return _result return _result
def wrapped_f(request, *args, **kwargs): user = request.user if user.is_superuser: return f(request, *args, **kwargs) flag = False try: permissoes = request.session['permissao'] site_url = get_site_url_id(request) if permissoes['site'] == site_url: for key, _contents in permissoes.items(): if key.upper() == self.grupo.upper(): flag = True break if flag: return f(request, *args, **kwargs) return redirect(self.login_url + __path_to__(request)) except: return redirect(self.login_url + __path_to__(request))
def has_portlets(context): _url = reescrever_url(context.request).strip('/').split('/') _site_url = get_site_url_id(context.request) _result = [] _new_url = ('/%s/') % _url[0] for item in _url: _p = None if item == _site_url: p_ = Portlet.objects.filter(site__url=_site_url, origem='pagina-inicial') else: _new_url = ('%s%s/') % (_new_url, item) portal_catalog = PortalCatalog.objects.filter( site__url=_site_url).get(path_url=_new_url) _obj = portal_catalog.get_content_object() p_ = _obj.portlet.all() for i in p_: _result.append(i) return _result
def has_permissao_by_site(context, **kwargs): if context.request.user.is_anonymous(): return False if context.request.user.is_superuser: return True permissoes = context.request.session['permissao'] _site_url = get_site_url_id(context.request) if _site_url.upper() == permissoes['site'].upper(): if 'permissao' in kwargs: for key, _contents in permissoes.items(): if key.upper() == kwargs['permissao'].upper(): return True else: return False else: return True return False
def add_item_portlet(request): _site_url = get_site_url_id(request) portlet_url = request.GET['portlet'] portlet = Portlet.objects.filter(site__url=_site_url).get( portlet=portlet_url) if 'excluir' in request.GET: _item_excluir = request.GET['excluir'] portlet.conteudo.remove(_item_excluir) if request.POST: _list = request.POST.getlist('content') for i in _list: portlet.conteudo.add(i) conteudos = portlet.conteudo.all() template = 'comum/portlets.html' context = { 'portlet': portlet, 'conteudos': conteudos, } return render(request, template, context)
def has_list_sessions_site(context): _site = get_site_url_id(context.request) _list_sessions = Sessao.objects.filter(site__url=_site) return _list_sessions