Exemple #1
0
        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))
Exemple #2
0
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)
Exemple #3
0
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>&nbsp;-&nbsp;</li>" % aux
                    else:
                        text_link = _p.get(path_url=aux)
                        _html += "<li><a href='%s'>%s</a>&nbsp;-&nbsp;</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)
Exemple #4
0
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
Exemple #5
0
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)
Exemple #6
0
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.')
Exemple #7
0
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
Exemple #8
0
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
Exemple #9
0
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
Exemple #10
0
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
Exemple #11
0
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
Exemple #12
0
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
Exemple #13
0
 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))
Exemple #14
0
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
Exemple #15
0
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
Exemple #16
0
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)
Exemple #17
0
def has_list_sessions_site(context):
    _site = get_site_url_id(context.request)
    _list_sessions = Sessao.objects.filter(site__url=_site)

    return _list_sessions